修复npm全局包符号链接

时间:2014-07-13 03:20:59

标签: node.js npm osx-mavericks

最近升级到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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:0)

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

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

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