yosemite 升级后 npm 找不到 npm-cli 模块

npm cannot find npm-cli module after yosemite upgrade

当我将 OS X 更新为 yosemite 后尝试运行 npm 时,我收到此错误:

module.js:340
    throw err;
          ^
Error: Cannot find module '/usr/local/lib/node_modules/npm/bin/node_modules/npm/bin/npm-cli.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3

我的猜测是它与 PATH 有关,但我在这方面不是很了解。请询问您是否需要更多信息。谢谢。

编辑

所以它寻找 npm_cli 模块的路径非常古怪 /usr/local/lib/node_modules/npm/bin/node_modules/npm/bin

npm_cli.js所在路径为:

/usr/local/lib/node_modules/npm/bin

所以有问题,但我仍然不知道如何解决它。

编辑 2

这是我的 .bash_profile

中的相关条目
export PATH="/usr/local/lib/node_modules/npm/bin:/usr/local/heroku/bin:$PATH"
export NODE_PATH="/usr/local/lib/node"

可能最简单的方法是删除并重新安装节点和 npm。你有什么理由不能这样做吗?

你有没有可能 运行 npm update -g?这可能会搞砸,导致需要重新安装。

如果您只想尝试重新安装 npm,并且您有一个可用的 node,请使用此脚本:

卷曲-L https://www.npmjs.org/install.sh |嘘

https://github.com/npm/npm/wiki/Troubleshooting#if-your-npm-is-broken

我只需要将 /usr/local/bin 添加到我的 PATH

运行安装cli的命令-

npm install -g grunt-cli