Ошибка `node-pre-gyp install --fallback-to-build` во время установки MeanJS на OSX

Я только что купил себе книгу для 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

person aayush shrestha    schedule 01.11.2015    source источник
comment
Я нашел несколько тем, предлагающих понизить версию node и npm. Я еще не проверил, работает ли это. Я бы хотел решить эту проблему, не переходя на более раннюю версию.   -  person aayush shrestha    schedule 01.11.2015
comment
Я бы посоветовал по крайней мере понизить до 4.2.x, поскольку это последний долгосрочный выпуск, выпущенный всего несколько недель назад. Если он там работает, попробуйте использовать 5.x, чтобы увидеть, какие перерывы, есть вероятность, что модули npm еще не обновлены для обработки 5.x, так как прошло всего пару дней? Или, по крайней мере, избавьте себя от некоторых проблем, не используя sudo с npm или node, и подумайте об использовании nvm.   -  person jmunsch    schedule 01.11.2015
comment
Что происходит, когда node-pre-gyp пытается построить? (это текст над ошибками npm). Также версия узла, которую вы используете для сборки, - 4.1.1 npm ERR! node v4.1.1   -  person jmunsch    schedule 01.11.2015


Ответы (18)


Я пробовал обновить node-gyp:

sudo npm install -g node-gyp

У меня это сработало.

Я нахожу решение здесь, надеюсь, оно может помочь.

person Anne    schedule 30.12.2015
comment
Просто оставьте комментарий. В npm install -g node-gyp -g означает установить его глобально, а не обновлять. - person Java Xu; 28.07.2017
comment
у меня тоже не сработало. Есть ли другой способ решить эту проблему? - person Rahul J. Rane; 04.02.2019
comment
это работает для меня - person Emmanuel Garcia Martinez; 15.12.2020
comment
Для меня это работает ТОЛЬКО в том случае, если я установлю точную версию, найденную в package-lock.json. Для меня правильная команда была: npm i -g [email protected] - person Emanuele Pavanello; 08.02.2021

russfrisch прокомментировал 4 дня назад:

У меня была такая же проблема. Изменение версии для grunt-node-Inspector с добавлением "> =" вместо "~" заставило меня работать.

Ссылка на страницу github, где я нашел это решение.

Ссылка на мой пост на StackoverFlow

person ManyQuestions    schedule 14.11.2015
comment
Установка "grunt-node-inspector": "~0.4.1" с узлом 4.2.2 сработала для меня - person Dziamid; 24.11.2015
comment
это сработало github.com/node-inspector/v8-debug/ вопросы / - person Rakesh Prabhakaran; 10.09.2016

Я столкнулся с той же проблемой, которая была решена после многих усилий. Это потому, что версия npm несовместима с версией gprc. Итак, нам нужно обновить файл npm.

npm update
npm install 
person Vishal Chavan    schedule 12.08.2019

Это может не сработать для всех, но я обновил узел и устранил для меня проблему, когда ничего из вышеперечисленного не выполнялось.

person ocean800    schedule 07.11.2016

Похоже, это проблема с обновлением моего узла. Как бы то ни было, я решил это с помощью следующего подхода.

Сначала удалите cli, очистите кеш и переустановите с помощью этих команд

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli

Затем установите node-pre-gyp

npm install -g node-pre-gyp

Перезагрузите терминал и посмотрите, решена ли проблема.

person Tadele Ayelegn    schedule 24.10.2018

Я тоже решил эту проблему: просто переустановите узел на версию LTS с помощью nvm:

nvm install --lts

nvm use --lts

Тогда rm -rf node_modules И npm i

person vad nevod    schedule 28.05.2019

Я тоже сталкиваюсь с той же проблемой. Я нашел решение для этого.

bcrypt требуется C ++, python и node-pre-gyp.

sudo apt-get install g++
sudo apt-get install -y build-essential python
npm install node-pre-gyp

для получения дополнительных сведений проверьте: Инструкции по установке

person Rana Jahid    schedule 17.11.2019

Хорошо, поэтому после некоторой отладки следующие зависимости используют старую версию 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 работать с узлом 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 перед повторной попыткой.

person jmunsch    schedule 01.11.2015
comment
Я попытался установить старую версию node-pre-gyp: npm install [email protected]. У меня это сработало. Не знаю, почему не сработала новая версия. - person Lakshmi Swetha G; 13.02.2017

Как заявил @ ocean800, я обновил node. Приведенное ниже решение предназначено для Ubuntu 16.04, которое сработало для меня, но что-то похожее на OSX может решить эту проблему.

В Ubuntu 16.04 у меня сработало обновление узла

обновление nodejs в ubuntu 16.04

Я копирую решение из приведенной выше ссылки ниже

Для обновления можно установить n

sudo npm install -g n

Тогда просто:

sudo n latest

или конкретная версия

sudo n 8.9.0

Затем попробуйте установить

sudo npm install <package>
person enthusiasticgeek    schedule 02.10.2018
comment
Использование префикса sudo обычно плохой совет, он вам не нужен: stackoverflow.com/questions/25290986/ - person Dmitri Zaitsev; 15.07.2019

Надеюсь, мой сценарий поможет кому-то другому. У меня была такая же проблема с пакетом bcrypt. Сначала я попробовал использовать npm i -g node-gyp, как было предложено Анной, но проблема не исчезла. Затем я снова прочитал сообщение об ошибке, чтобы лучше понять проблему, и обнаружил, что скрипту не удается создать пакет с нуля, поскольку предварительно скомпилированной версии не существует. В частности, он не может найти команду g ++, поэтому я решил установить пакет build-essential с sudo apt install build-essential -y.

person Jacopo    schedule 18.11.2018

Для меня работает следующая команда:

sudo npm i -g node-pre-gyp
person wizzfizz94    schedule 01.04.2019
comment
Вам не нужно sudo npm - это создает постоянные проблемы с разрешениями: stackoverflow.com/a/29787502/1614973 - person Dmitri Zaitsev; 15.07.2019
comment
Правда как так? Обе команды npm, похоже, указывают на одну и ту же программу. т.е. `` какой npm / usr / local / bin / npm sudo который npm / usr / local / bin / npm `` - person wizzfizz94; 15.04.2020

Недавно у меня была эта ошибка при новой установке Node на OSX с использованием homebrew. Брю установил самую последнюю на тот момент 13.8.0.

Я понизил последнюю "стабильную" версию узла.

sudo npm install -g n  ## Installs Node Version Switcher
sudo n stable          ## To switch to latest stable version

Затем остальные мои установки npm были завершены и прошли ужасные ошибки gprc!

person mbspark    schedule 27.02.2020

Просто используйте эту команду, и она обработает эту ошибку npm install --unsafe-perm --allow-root

person Raph Jacksun    schedule 04.10.2020

вы запускаете пример из папки node_modules?

Оттуда их не надо убегать.

Вместо этого создайте в своем проекте следующий файл:

post-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's 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

ссылка: https://github.com/JCMais/node-libcurl/issues/98 < / а>

person Shantanu Khond    schedule 08.12.2018

Со мной случалось на node 13.7.0 и npm 6.13.6 (macOS Mojave).

В числе моих ошибок было следующее:

found X vulnerabilities (Y moderate, Z high)
  run `npm audit fix` to fix them, or `npm audit` for details

И запустил следующую исправленную проблему:

  1. $ npm audit fix

  2. $ npm install

person Daniel Dut    schedule 26.01.2020

Попробуйте переустановить инструменты командной строки XCode с помощью xcode-istall

У меня это сработало.

person Lucas Brogni    schedule 11.03.2021

npm ERR! [email protected] install: node-pre-gyp install --fallback-to-build

Вышеупомянутая ошибка была исправлена ​​путем установки bcrypt с помощью следующей команды:

npm --build-from-source install [email protected]
person Victor Teppa    schedule 19.04.2021
comment
Отформатируйте фрагменты кода и команды. - person Yves Gurcan; 20.04.2021

Попробуйте это

sudo chown -R $(whoami) ~/.npm

sudo chown -R $(whoami) /usr/local/lib

sudo chown -R $(whoami) /usr/local/bin

Затем попробуйте снова выполнить команду без sudo. например

npm install -g npm@latest

Отметьте это глобальная установка sudo fail на Mac для получения дополнительных сведений.

person Ruth Agbasimalo    schedule 03.06.2019