iOS Yosemite sudo npm install -g DYLD_环境

时间:2015-03-17 14:48:31

标签: ios node.js npm osx-yosemite sudo

我将机器升级到Yosemite后出现问题,每当我运行sudo时npm install -g ...我收到错误说

/ usr / bin / dyld:DYLD_环境变量被忽略,因为主可执行文件(/ usr / bin / sudo)是setuid或setgid

例如,尝试使用

安装gulp
sudo npm install -g gulp

并得到了同样的错误!无法找到这个问题背后的原因

1 个答案:

答案 0 :(得分:0)

通常这意味着现有的全球安装包状况不佳。可能与权限相关,但如果没有关于环境的更多信息则很难确定。

解决方案在于修复破损的包装。一种方法是删除并重新安装它。试试sudo npm uninstall -g <pkg>,其中<pkg>是您怀疑可能被破坏的任何内容。

如果您不确定从哪里开始,请执行以下操作:

npm list -g --depth=0

这将显示所有全局安装的软件包。只需逐个删除并重新安装它们。

如果在删除过程中出现任何错误,您需要自己手动执行此操作。

首先,找出安装全局包的位置。通常,例如,这将在OS X上为/usr/local。要确定:

npm config get prefix

然后浏览该目录,尤其是/usr/local/bin(例如),如果您确定文件与全局npm包相关,则删除它通常是安全的。

`sudo rm -rf <file>`

...其中<file>是您要删除的实际文件名。

由于过度使用sudo,你可能已陷入混乱。

请参阅我对SNAFU with npm update -g的答案,了解sudo为何错误以及如何解决问题的说明。