【问题标题】:Can no longer use npm command after trying to update尝试更新后无法再使用 npm 命令
【发布时间】:2014-04-01 21:10:27
【问题描述】:

我试图安装 yeoman,但它引发了关于自签名证书的错误。

我查了一下,发现我必须升级节点。

升级节点却抛出了这个:(忘记使用 sudo 了...)

npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/npm'
npm ERR! error rolling back  npm@1.4.4 { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm']

在这之后我不能再使用 npm 了。找不到:

/usr/local/bin/npm: No such file or directory

尝试使用 brew 重新安装:

It appears you already have npm installed at /usr/local/lib/node_modules/npm

告诉我要卸载 npm,但我不能再使用 npm。

错误信息更详细,但我认为“取消链接”部分是主要内容。我该如何重新链接它,以及为什么会抛出如此奇怪的错误?

编辑:在尝试更新节点之前还运行了npm config set ca ""

【问题讨论】:

    标签: node.js yeoman


    【解决方案1】:

    我使用 brew 安装 之后:brew安装节点

    sudo brew postinstall node
    

    【讨论】:

    • 我收到一条错误消息,告诉我不应该以 root 身份运行 brew,它只是“懦弱”地拒绝这样做。
    【解决方案2】:

    发现一些有类似错误的链接,但都有不同的解决方案:

    https://github.com/npm/npm/issues/4099

    Error: The 'brew link' step did not complete successfully

    How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

    我认为第三个答案对我帮助最大,具体来说:

    转到 /usr/local/lib 并删除所有节点和 node_modules

    【讨论】:

    • 按照你的链接我可以解决它,谢谢。对我有用的命令是:sudo curl -L npmjs.org/install.sh |须藤sh
    • 完成此操作后,重新加载您的 bash 会话。在我的 Vagrant 盒子上没有它就无法工作
    【解决方案3】:

    sudo brew postinstall 命令对我有用。如果您尝试在不使用 sudo 命令的情况下更新核心 NPM 包,则会导致此问题

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      相关资源
      最近更新 更多