it-swarm.com.ru

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

Я только что купил себе макинтош после долгого использования 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
31
aayush shrestha

я попытался обновить узел-гип:

npm install -g node-gyp

Это сработало для меня.

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

34
Anne

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

Я испытывал эту же проблему. Изменение в версии для grunt-node-inspector для добавления "> =" вместо "~" получил значение работать на меня.

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

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

9
ManyQuestions

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

2
ocean800

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

1
jmunsch

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

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

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

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

npm install -g node-pre-gyp

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

1
tadtab

Как сказал @ 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>
1
enthusiasticgeek

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

0
Jacopo

вы запускаете пример из папки 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'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

0
Shantanu Khond