web-dev-qa-db-ja.com

node-gypを設定または再構築しようとすると、エラーが発生します:mac 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 

間違ったディレクトリにいると思いますが、わかりません。これを実行するには、どのディレクトリにいるべきですか?

30
gabriella

現在の作業ディレクトリ(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

ところで、どのノードのバージョンから正確にはわかりませんが、最新バージョンではこのディレクトリでnpm installを実行するだけで、npmはnode-gyp rebuildを実行します。

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

最初にnode-gypをグローバルにインストールします。

Sudo npm -g install node-gyp

こちらをご覧ください answer

1
ShahNewazKhan

疑わしい場合は、最初にnpm install -g node-gypを再インストールしてください。

node-gyp rebuildを実行することをお勧めします。プロジェクトのルートから実行します。また、binding.gypはルートにあり、依存関係(別の場所)を指している必要があります。

一般に、node-gyp configureを手動で実行する必要はありません。

ノードの新しいバージョンでこの問題が発生しました。私の最善の回避策は、ノードバージョンマネージャー(nvm)のようなものを使用してノードの古いバージョンに戻り、npm installもう一度。

0
Zach Janicki

物の見た目(100%確実ではない)/usr/local/binはコンピューターに存在しません。しかし、スタックトレースから言うのは難しいです。

0
dagonza