尝试配置或重建 node-gyp 时,出现错误:mac osx mavericks

Posted

技术标签:

【中文标题】尝试配置或重建 node-gyp 时,出现错误:mac osx mavericks【英文标题】:when trying to configure or rebuild node-gyp, getting errors: mac osx mavericks 【发布时间】:2014-01-21 14:40:51 【问题描述】:

我正在尝试运行 node-gyp configure,但出现以下错误:

gyp: binding.gyp not found (cwd: /usr/local/bin)
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "configure"
gyp ERR! cwd /usr/local/bin
gyp ERR! node -v v0.10.20
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok 

我认为我在错误的目录中,但我不确定。我应该在哪个目录中运行它?

【问题讨论】:

node-gyp configure build 用于构建包含 c/c++ 文件的包。您可以将cd 打包到有文件binding.gyp 的文件夹,然后输入node-gyp configure buildnode-gyp rebuild 确保你已经通过 xcode 安装了开发者工具。 我也有同样的问题,我忘了把文件名从binding.gyp.txt改成binding.gyp,也许对你有帮助 【参考方案1】:

我在 macOS Big Sur 11.5.1 上处理 Angular 10 项目时遇到了这个问题

这个关于堆栈溢出的答案为我解决了 - https://***.com/a/55590251/10622142

    删除 package-lock.json 运行命令 => npm install

【讨论】:

这个答案和another you posted一模一样。如果您认为此问题重复,建议重复。 @Tyler2P “建议重复”到底是什么意思?你的意思是给另一个线程的链接并说这是这里的重复吗?【参考方案2】:

您正试图在当前工作目录 (CWD) /usr/local/bin 中运行 node-gyp rebuild,因此 node-gyp 无法在 /usr/local/bin/binding.gyp 找到绑定。

将终端导航到包含 NodeJS 模块的目录,然后运行 ​​node-gyp rebuild

cd ~/Projects/your-nodejs-native-module/
node-gyp rebuild

顺便说一句,我不确定具体来自哪个节点版本,但在现代版本中,您可以在此目录中运行 npm install,npm 将为您运行 node-gyp rebuild

cd ~/Projects/your-nodejs-native-module/
npm install

【讨论】:

运行 node-gyp rebuild 对我来说一直失败,但完整的 npm install 完成了这项工作【参考方案3】:

先全局安装node-gyp:

sudo npm -g install node-gyp

请看这个answer

【讨论】:

【参考方案4】:

我在使用较新版本的节点时遇到了这个问题。我最好的解决方法是使用节点版本管理器 (nvm) 之类的东西来恢复到旧版本的节点,然后再次运行 npm install

【讨论】:

【参考方案5】:

从外观上看(不是 100% 确定)/usr/local/bin 在您的计算机中不存在。但是从堆栈跟踪很难说。

【讨论】:

【参考方案6】:

如果有疑问,请先重新安装npm install -g node-gyp

最佳做法是运行node-gyp rebuild。从项目的根目录运行它。此外,您的 binding.gyp 应该在根目录中,指向依赖项(其他地方)。

通常不需要手动运行node-gyp configure

【讨论】:

以上是关于尝试配置或重建 node-gyp 时,出现错误:mac osx mavericks的主要内容,如果未能解决你的问题,请参考以下文章

无法安装 aerospike,在“node-gyp 重建”步骤中使 aerospike 失败

azure web 应用程序中 lwip 的 node-gyp 重建问题:致命错误 C1083:无法打开包含文件:'nan.h':没有这样的文件或目录

节点 10 - npm 安装期间的“node-gyp 重建”错误

安装 contextify 时出错-node-gyp 重建失败

Node-Gyp 在尝试安装 Brain.js 时返回错误

运行 yarn install 时如何避免 node-gyp 重建?