npm在yosemite升级后无法找到npm-cli模块

时间:2015-01-07 17:04:44

标签: node.js module path npm osx-yosemite

在我将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

我的猜测是它与PATHs有关,但我在这个领域并没有很好的学习。请询问您是否需要更多信息。谢谢。

修改

所以它寻找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"

3 个答案:

答案 0 :(得分:3)

删除并重新安装node和npm可能最简单。有什么理由你不能这样做吗?

您是否可以运行npm update -g?这可能搞砸了,导致需要重新安装。

如果您只是想尝试重新安装npm,并且工作正常node,请使用以下脚本:

curl -L https://www.npmjs.org/install.sh | SH

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

运行命令安装cli -

npm install -g grunt-cli