При попытке настроить или перестроить 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
Я думаю, что я в неправильном каталоге, но я не уверен. Какую директорию я должен запустить для этого?
Ответы
Ответ 1
Вы пытаетесь запустить 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
BTW Я не уверен, из какой версии node, но в современных версиях вы можете просто запустить npm install
в этом каталоге, а npm будет запускать node-gyp rebuild
для вас.
cd ~/Projects/your-nodejs-native-module/
npm install
Ответ 2
если есть сомнения, сначала переустановите npm install -g node-gyp
.
Лучше всего запустить node-gyp rebuild
. Запустите его из корня проекта. Также ваш binding.gyp
должен находиться в корне, указывая на зависимости (в другом месте).
В общем случае не нужно запускать node-gyp configure
вручную.
Ответ 3
По соображениям вещей (не на 100% уверен) /usr/local/bin
не существует на вашем компьютере. Но из трассировки стека трудно сказать.
Ответ 4
У меня была эта проблема с более новыми версиями node. Моя лучшая работа использовала что-то вроде node manager version (nvm), чтобы вернуться к более старой версии node, а затем снова запустить npm install
.
Ответ 5
Сначала установите node -gyp глобально:
sudo npm -g install node-gyp
См. этот ответ