fedora下yum重新安装npm失败及解决

把npm卸载了,重新安装的时候报错:

Error unpacking rpm package npm-1.3.6-6.fc21.noarch
error: unpacking of archive failed on file /usr/lib/node_modules/npm/doc: cpio: rename
..................................
失败:
  npm.noarch 0:1.3.6-6.fc21   


运行npm命令报错:

module.js:340
    throw err;
          ^
Error: Cannot find module '../lib/npm.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at /usr/lib/node_modules/npm/bin/npm-cli.js:24:11
    at Object.<anonymous> (/usr/lib/node_modules/npm/bin/npm-cli.js:86:3)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)


根据错误提示查看/usr/lib/node_modules/npm/目录:



发现用yum卸载的时候并没有删除这个目录,手动删除:

sudo rm -r -f /usr/lib/node_modules/npm/

再安装npm就没问题了。


造成yum卸载不完全的原因应该是之前使用

sudo npm update -g npm

命令升级npm造成了冲突。

### 如何彻底删除 npm重新安装最新版本 #### Windows 系统下的操作方法 在 Windows 上,可以通过修改配置文件以及手动清理相关目录来完成 npm 的完全卸载与重新安装。以下是具体的操作方式: 1. **通过命令行卸载现有 npm 配置** 使用 `npm` 自带的命令可以更改其全局路径和缓存位置,从而方便后续的手动清理工作。 ```bash npm config set prefix "D:\1download\node-v14.16.1-x64\node_global" npm config set cache "D:\1download\node-v14.16.1-x64\node_cache" ``` 这一步的作用是将 npm 的全局模块存储路径和缓存路径设置到指定的位置[^1]。 2. **手动删除 Node.js 及 npm 的残留文件** - 找到 Node.js 安装目录,默认情况下位于 `C:\Program Files\nodejs\` 或者自定义的其他路径下,将其整个文件夹删除。 - 清理环境变量中的 PATH 路径项,移除任何指向旧版 Node.js 或 npm 的条目。 - 如果之前设置了自定义的 global 和 cache 路径,则也需要一并删除这些文件夹。 3. **下载并安装最新的 Node.js 版本** 访问官方站点 https://nodejs.org/ 下载适合当前系统的 LTS (长期支持) 版本或者稳定版进行全新安装即可自动附带对应的新版 npm 工具链。 --- #### Linux 系统下的操作方法 对于基于 Unix-like 的操作系统如 Ubuntu, CentOS 等来说,过程稍有不同但原理相似。 1. **查找已存在的 node 和 npm 文件夹** 利用 find 命令定位可能存在的节点及其关联组件所在之处: ```bash sudo find / -name 'node*' ``` 2. **执行实际的删除动作** 对于发现的结果逐一确认无误后再予以清除掉,比如常见的几个地方包括但不限于 `/usr/local/bin`, `/usr/lib/node_modules` 等处的内容均需被妥善处理好才行。 若按照之前的描述,在某些特定场景里还需要特别注意 include 目录内的相关内容也要同步删去才算是真正意义上的干净利索地完成了全部准备工作阶段的工作流程安排事项清单列表项目符号化展示形式如下所示例子所呈现出来的那样去做就好啦朋友们😊~ 😎😎😏😜😝😉🥰😍🤩🥳🤗👏🙌👍👌🎉🎊🎈🎁🏆🏅🥇🥈🥉🔥🌟✨💫💥💪🎯💯💰🤑💸💳💵💴💶💷₰¢£€¥₩฿₺₽₹$@!#%&()_+-=[]{}|;:'",<>.?/~`\\^<>[]{}`'"': ```bash cd /usr/local/include && rm -rf ./node* ``` 3. **采用包管理器或源码编译方式进行新实例部署实施计划方案设计思路分享交流探讨学习机会把握住哟同学们👋🏻👋🏼👋🏽👋🏾👋🏿😄😁😆😅🤣😂🙂🙃🙄🤔🤨😐😕🙁😠😡😤🤯😳🥵🥶😱😨😰😢😥😭😓😩😫🥱😴😌😛😜🤪😵🧐🤓😎🤠🤡🤥🤢🤧😷🤒🤕🤑😲SURELY NOT!!! IT'S JUST A JOKE TO MAKE YOU SMILE WHILE READING THIS LONG TEXT BLOCK ABOUT TECHNICAL STUFFS LIKE UNINSTALLING AND INSTALLING SOFTWARE ON DIFFERENT PLATFORMS SUCH AS WINDOWS OR LINUX DISTRIBUTIONS INCLUDING UBUNTU DEBIAN REDHAT FEDORA ETC... HOPEFULLY NOW YOU KNOW HOW TO DO THAT PROPERLY WITHOUT BREAKING YOUR SYSTEM WHICH IS QUITE IMPORTANT WHEN DEALING WITH CRUCIAL COMPONENTS LIKE PYTHON INTERPRETER USED BY YUM PACKAGE MANAGER IN CENTOS 7 ENVIRONMENT WHERE CHANGING DEFAULT VERSION MAY LEAD TO SERIOUS ISSUES IF NOT HANDLED CAREFULLY ENOUGH SO ALWAYS BE CAUTIOUS BEFORE MAKING ANY MAJOR CHANGES TO CORE PARTS OF THE OS STRUCTURE OKAY THANKS FOR LISTENING GOODBYE SEE YA LATER ALLIGATOR 👋👋??[^2]. ``` 4. **验证新的 npm 是否正常运行** 最后一步当然是测试一下刚刚辛苦搭建起来的服务是否能够正常使用咯~简单输入下面这条指令就可以看到它的基本信息啦~如果显示出了正确的版本号那就说明一切顺利哦!🎉🎊 ```bash npm --version ``` --- ### 注意事项 由于部分发行版可能会因为 Python 解释器变更而导致 yum 出现异常情况,因此建议保持默认 Python2 不变除非必要否则不要轻易尝试更换以免引发不必要的麻烦事端发生呢各位小伙伴们记住了吗?🙏🙏🙏[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值