Ответ 1
я попытался обновить узел-гип:
sudo npm install -g node-gyp
Это сработало для меня.
Я нахожу решение здесь, я надеюсь, что это может помочь.
Я только что купил себе Mac-книгу после долгого использования Windows.
Я пытался работать над проектом MeanJS, над которым я работал.
Выполнение npm install
в проекте вызывает ошибку
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/Aayush/Work/lishn/repo/lishn-alpha/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64/debug.node --module_name=debug --module_path=/Users/Aayush/Work/lishn/repo/lishn-alpha/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64' (1)
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.1.1
npm ERR! npm v2.14.4
npm ERR! code ELIFECYCLE
>
> npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the v8-debug package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR! npm owner ls v8-debug
npm ERR! There is likely additional logging output above.
Я попытался очистить кеш.
Я попытался установить node -pre-gyp с sudo
и --unsafe-perm
Я также попытался обновить проект MEAN с той же ошибкой.
Кажется, я не могу найти, в чем проблема.
Node Version - 5.0.0
NPM Version - 3.3.10
я попытался обновить узел-гип:
sudo npm install -g node-gyp
Это сработало для меня.
Я нахожу решение здесь, я надеюсь, что это может помочь.
russfrisch прокомментировал 4 дня назад:
Я испытывал эту же проблему. Изменение в версии для grunt-node-inspector для добавления "> =" вместо "~" позволило мне сработать.
Ссылка на страницу github, где я нашел это решение.
Это может не сработать для всех, но я обновил node, и он исправил проблему для меня, когда ни одно из вышеприведенных действий не выполняло
Это кажется проблемой с моим обновлением узла. Как только я решил это следующим подходом.
Сначала удалите cli, очистите cashe и переустановите с помощью этих команд
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli
Затем установите node-pre-gyp
npm install -g node-pre-gyp
Перезапустите свой терминал и посмотрите, решена ли проблема.
Хорошо, что после некоторой отладки следующие зависимости используют более старую версию touch
:
./node_modules/bower/node_modules/decompress-zip/package.json: "touch": "0.0.3"
./node_modules/bower/node_modules/lockfile/package.json: "touch": "0"
./node_modules/gulp-nodemon/node_modules/nodemon/package.json: "touch": "1.0.0",
./node_modules/gulp-nodemon/node_modules/touch/package.json: "touch": "./bin/touch.js"
./node_modules/nodemon/package.json: "touch": "~0.0.3",
С этим я смог получить meanJS, работающий с node 5.
Вот история команд, которые я запускал:
git clone https://github.com/meanjs/mean.git
cd mean
nvm install 5
nvm use 5
npm install
which node-gyp
npm install -g node-pre-gyp
sudo xcodebuild -license
npm install
Были некоторые проблемы, а затем:
Я добавил следующую строку:
#!/usr/bin/env node
В начало файла ./mean/node_modules/.bin/touch
И затем:
npm install
И, конечно, возможно, запустите sudo rm -rf ./node_modules && npm cache clean
перед повторной попыткой.
Как сказал @ocean800 я обновил узел. Приведенное ниже решение предназначено для Ubuntu 16.04, которая работала для меня, но что-то подобное в OSX может решить эту проблему.
В Ubuntu 16.04 у меня работало обновление узла
обновление nodejs в Ubuntu 16.04
Я тиражирую решение по ссылке выше
Чтобы обновить, вы можете установить н
sudo npm install -g n
Тогда просто:
sudo n latest
или конкретная версия
sudo n 8.9.0
Тогда попробуйте и установите
sudo npm install <package>
Я пережил ту же проблему, решенную после многих усилий. Это из-за версии npm не совместимой с версией gprc. Поэтому нам нужно обновить npm.
npm update
npm install
Надеюсь, что мой сценарий может помочь кому-то еще. У меня была такая же проблема с пакетом bcrypt. Во-первых, я попытался с npm я -g node-gyp
как предложено Анной, но проблема осталась. Затем я снова прочитал сообщение об ошибке, чтобы лучше понять проблему, и обнаружил, что сценарий не может собрать пакет с нуля - поскольку предварительно скомпилированной версии не существует. В частности, он не может найти команду g++, поэтому я решил установить пакет build-essential
с помощью sudo apt install build-essential -y
.
вы запускаете пример из папки node_modules?
Они не должны быть запущены оттуда.
Вместо этого создайте следующий файл в своем проекте:
пост-data.js
var Curl = require( 'node-libcurl' ).Curl,
querystring = require( 'querystring' );
var curl = new Curl(),
url = 'http://posttestserver.com/post.php',
data = { //Data to send, inputName : value
'input-arr[0]' : 'input-arr-val0',
'input-arr[1]' : 'input-arr-val1',
'input-arr[2]' : 'input-arr-val2',
'input-name' : 'input-val'
};
//You need to build the query string,
// node has this helper function, but it limited for real use cases (no support for
array values for example)
data = querystring.stringify( data );
curl.setOpt( Curl.option.URL, url );
curl.setOpt( Curl.option.POSTFIELDS, data );
curl.setOpt( Curl.option.HTTPHEADER, ['User-Agent: node-libcurl/1.0'] );
curl.setOpt( Curl.option.VERBOSE, true );
console.log( querystring.stringify( data ) );
curl.perform();
curl.on( 'end', function( statusCode, body ) {
console.log( body );
this.close();
});
curl.on( 'error', curl.close.bind( curl ) );
Запустить с узлом post-data.js
У меня работает следующая команда:
sudo npm i -g node-pre-gyp
Я тоже решил эту проблему: просто переустановите узел в версию LTS с помощью nvm:
nvm install --lts
nvm use --lts
Тогда rm -rf node_modules
и npm i
Попробуйте это
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami)/usr/local/lib
sudo chown -R $(whoami)/usr/local/bin
Затем повторите команду без sudo. например
npm install -g [email protected]
Проверьте эту ссылку для более подробной информации