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

gab*_*lla 31 macos node.js node-gyp osx-mavericks

我正在尝试运行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 
Run Code Online (Sandbox Code Playgroud)

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

h0x*_*91B 5

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

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

cd ~/Projects/your-nodejs-native-module/
node-gyp rebuld
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我不确定确切从哪个节点版本开始,但是在现代版本中,您可以只npm install在此目录中运行,而npm会node-gyp rebuild为您运行。

cd ~/Projects/your-nodejs-native-module/
npm install
Run Code Online (Sandbox Code Playgroud)


elj*_*efe 1

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

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

一般来说,不需要node-gyp configure手动运行。