我犯下了the instructions on the npm getting started page的错误(?)并运行了
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和已安装的节点上。
答案 0 :(得分:13)
Alexander O'Mara的评论帮我解决了这个问题。解决方案:
运行
brew uninstall --ignore-dependencies node
即使存在其他需要节点的模块,也要强制卸载节点。
完成后,运行
brew uninstall --force node
删除计算机上所有版本的节点,如果有多个版本正在运行。
最后运行以下命令以删除所有文件并再次安装节点:
rm -rf /usr/local/lib/node_modules
rm /usr/local/bin/npm
brew install node
答案 1 :(得分:1)
在你的Linux盒子里;
您可能需要添加以下链接
转到NPM installtion dir&lt;&lt; cd~ / node-v6.9.2-linux-x64 /&gt;&gt; (我正在使用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中创建一个软链接 ln -s PATH-TO / npm-cli.js npm
尝试npm -v
<强>可选强> 如果你需要更新npm版本请做 npm install npm @ latest -g