我犯了一个错误,按照npm入门页面上的说明运行了
sudo npm install npm -g
现在,无论我做什么,任何npm的执行都会导致这个错误,无论我是否以sudo方式运行它。卸载和重新安装节点没有帮助。
$ sudo npm
module.js:457
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:455:15)
at Function.Module._load (module.js:403:25)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:13
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:75:3)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
我是在mac和安装节点使用自制。
Alexander O'Mara的评论帮我解决了这个问题。解决方案:
运行brew uninstall --ignore-dependencies node
强制卸载node,即使有其他模块需要node。
完成后,运行brew uninstall --force node
如果有多个版本正在运行,则删除机器上的所有node版本。
最后执行以下命令删除所有文件并重新安装节点:
rm -rf /usr/local/lib/node_modules
rm /usr/local/bin/npm
brew install node
在您的Linux操作系统中;
您可能需要添加以下链接
-
进入NPM安装目录<<cd ~/node-v6.9.2-linux-x64/>>(我使用的是NODE Current LTS 6.9.2)
-
在lib/node_modules/npm/bin/npm-cli.js中查找npm-cli.js文件(文件名可为cli.js或npm-cli.js)
-
cd ~/node-v6.9.2-linux-x64/bin
-
mv npm npm_old
-
在~/node-v6.9.2-linux-x64/bin中创建软链接npm
如果你需要更新NPM版本,请这样做NPM install npm@latest -g