【问题标题】:repair npm global package symlinks修复 npm 全局包符号链接
【发布时间】:2014-07-14 22:25:55
【问题描述】:

最近升级到 OSX Mavericks,我所有的 npm 全局模块符号链接都被清除了!重新安装 npm 让 npm 再次工作。

有没有办法让 npm 递归地通过 /usr/local/lib/node_modules/ 并在 /usr/local/bin 中为每个包创建符号链接? (是的,它在我的路径中)

有没有办法一次只做一个包?

我的 Google-fu 目前让我失望了。我有超过 40 个软件包,我不想重新安装所有软件包或为所有垃圾箱手动创建符号链接!

OSX 10.9
npm 1.4.14
节点 0.10.29

【问题讨论】:

    标签: node.js npm osx-mavericks


    【解决方案1】:

    运行此命令以在不重新安装的情况下重建:

    for i in "$(npm prefix -g)/lib/node_modules/"*; do
      sudo npm build -g "$i"
    done
    

    但是,您是否确定符号链接已损坏,而不是它只是更改了您的 PATH 环境变量或其他什么? npm bin -g 输出什么?

    【讨论】:

    • 我会试一试。 npm bin -g // -> /usr/local/bin
    • /usr/local/bin 是路径中的第一个文件夹。我检查了那个文件夹,我的节点模拟程序都不在那里。 brew simulink 也不见了,但是 brew link 把它们带回来了,只有两个可以再次链接。
    • 甜蜜!这行得通!我必须在我的Things that will save my life 笔记本上写下来。
    【解决方案2】:

    嗯,这种方式很简单,但它会重新下载东西,但它仍然可能比尝试编写一种方法来修复它们而不重新下载更快:

    npm install -g $(ls /usr/local/lib/node_modules)
    

    如果您尝试手动创建符号链接,您几乎肯定会错过一些和/或犯一些错误,所以我不建议这样做。

    【讨论】:

    • 我认为这行得通,但它只修复了一些软件包。我不确定为什么它没有对它们进行 simulink,因为它似乎重新安装了所有软件包,但是许多软件包都没有 simulinked,而且它似乎已经破坏了我已经工作的 gulp。 :(
    猜你喜欢
    • 2016-03-20
    • 2018-08-23
    • 2016-09-05
    • 2015-04-13
    • 1970-01-01
    • 2022-01-25
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多