当试图配置或重建node-gyp时,得到错误:mac osx mavericks

时间:2014-01-03 20:13:18

标签: macos node.js osx-mavericks node-gyp

我正在尝试运行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 

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

6 个答案:

答案 0 :(得分:5)

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

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

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

BTW我不确定哪个节点版本确切,但在现代版本中,您只需在此目录中运行npm install,npm将为您运行node-gyp rebuild

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

答案 1 :(得分:1)

首先全局安装node-gyp:

sudo npm -g install node-gyp

请参阅此answer

答案 2 :(得分:0)

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

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

一般情况下,不需要手动运行node-gyp configure

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我对更新版本的节点有这个问题。我最好的解决方法是使用节点版本管理器(nvm)之类的东西恢复到旧版本的节点,然后再次运行m.karan@yahoo.com,M, Karan <karan.m@outlook.com>

答案 5 :(得分:0)

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

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

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