为什么在Mac OSX El Capitan上node-gyp重建失败

roo*_*nie 16 node.js node-gyp osx-elcapitan

我最近买了一台Mac,它使用Mac OSX El Capitan v10.11.4.使用自制软件安装节点,并使用节点v6.2.2和npm v3.9.5.我在使用bcrypt时遇到错误npm install,我认为这是由node-gyp rebuild错误引起的.我最近也下载了xcode-select(版本2343)和xcode(7.3.1)(按此顺序).

这是我运行后的完整错误输出npm install:

https://gist.github.com/varunjayaraman/5734af617d616437cd5b3456b20bc503

不确定出了什么问题.我来自linux的土地,并且确实对自己不从源代码安装保持警惕,所以也许这就是导致这些问题的原因?无论如何,任何建议都会受到超级赞赏.我也看到这个错误在其他人身上涌现,但他们的解决方案似乎都没有用(当我输入时xcode-select --print-path,我得到了/Applications/Xcode.app/Contents/Developer)

met*_*gfu 32

每当我将 OSX 升级到较新版本时,都会遇到同样的问题。这是我每次解决它的方法:

sudo rm -rf  /Library/Developer/CommandLineTools
xcode-select --install
Run Code Online (Sandbox Code Playgroud)

就是这样。现在,下次您执行 npm install 或 yarn 时,它会起作用。

PS:有时您将无法通过 Xcode-select 安装命令行工具,例如,如果您处于测试阶段。在这种情况下,您应该可以从这里手动安装它:https : //developer.apple.com/download/more/

  • 刚刚更新到 10.15.4 并遇到了同样的问题 - 我用谷歌搜索并再次找到了我自己的答案,它有效......太棒了。 (26认同)
  • 我在 Big Sur 上遇到问题,此修复似乎不起作用。您有什么问题吗?也许我需要更新 python 或者其他东西,因为我在错误跟踪中看到它引用 python ? (2认同)
  • 我也在 BigSur - 我遇到了同样的问题并且同样的修复有效。尽管当我更新到最新的测试版时它又回来了几次。你应该再试一次。我不确定 python 是否相关。 (2认同)

kda*_*zle 16

这个也是我的一点点.有几个不同的解决方案,其中只有一个适合我.

首先,确保安装了XCode命令行工具,就像他们在npm页面上所说的那样.

1)最简单的解决方案,当然不起作用(虽然它看起来像是为某些人做的),只是删除~/.node-gyp目录.所以不妨给出一个镜头,以及删除你的node_modules目录和做另一个npm install.

2)尝试卸载node-gyp并重新安装:

sudo npm uninstall node-gyp -g
npm uninstall node-gyp
npm install
Run Code Online (Sandbox Code Playgroud)

3)但是诀窍是在github上的node-gyp问题中给出的解决方案,在那里你必须安装另一个版本的节点并以这种方式进行你的npm安装.这听起来比听起来容易,但它非常严重:

sudo npm cache clean -f
sudo npm install -g n
sudo n 4.4.5
sudo npm install npm -g
sudo npm uninstall node-gyp -g
Run Code Online (Sandbox Code Playgroud)

然后尝试运行npm install.

希望有所帮助!

  • 你完全摇滚了..唯一接近工作的事情!谢谢 (3认同)