npm:module.js:457 throw err; 错误:无法使用brew在mac上找到模块'npmlog'

Dav*_*ave 4 macos homebrew node.js npm

我犯了错误(?),遵循npm入门页面上的说明并运行

sudo npm install npm -g
Run Code Online (Sandbox Code Playgroud)

现在,无论我做什么,任何执行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)
Run Code Online (Sandbox Code Playgroud)

我在使用自制软件的mac和安装节点上.

Dav*_*ave 14

亚历山大奥马拉的评论帮我解决了这个问题.解决方案:

brew uninstall --ignore-dependencies node 即使存在其他需要节点的模块,也要运行 以强制卸载节点.

完成此操作后,brew uninstall --force node 如果有多个版本在运行,则运行 以删除计算机上的所有节点版本.

最后运行以下命令以删除所有文件并再次安装节点:

rm -rf /usr/local/lib/node_modules
rm /usr/local/bin/npm
brew install node
Run Code Online (Sandbox Code Playgroud)