2015-11-04 48 views
8

以前はNodeJS(v0.10.31)をインストールして問題なくプロジェクトを進めましたが、最近はNode v5.0.0にアップデートすることにしました。 bcryptとdb-migrateの使用を決めるまでは、すべてうまくいきました。NodeJS 4&5 npmのインストールでbcryptとdb-migrateが失敗する

$ sudo npm install 

> [email protected] install /home/cavpollo/intuitiva/cirio/cirio-id/node_modules/bcrypt 
> node-gyp rebuild 

make: Entering directory `/home/cavpollo/intuitiva/cirio/cirio-id/node_modules/bcrypt/build' 
    CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o 
    CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o 
    CXX(target) Release/obj.target/bcrypt_lib/bcrypt_node/src.o 
In file included from /home/cavpollo/.node-gyp/5.0.0/include/node/node.h:42:0, 
       from ../node_modules/nan/nan.h:24, 
       from ../src/bcrypt_node.cc:1: 
/home/cavpollo/.node-gyp/5.0.0/include/node/v8.h:336:1: error: expected unqualified-id before ‘using’ 
/home/cavpollo/.node-gyp/5.0.0/include/node/v8.h:469:1: error: expected unqualified-id before ‘using’ 
/home/cavpollo/.node-gyp/5.0.0/include/node/v8.h:856:1: error: expected unqualified-id before ‘using’ 
In file included from ../node_modules/nan/nan.h:184:0, 
       from ../src/bcrypt_node.cc:1: 
../node_modules/nan/nan_maybe_43_inl.h:13:1: error: expected unqualified-id before ‘using’ 
../node_modules/nan/nan_maybe_43_inl.h:16:1: error: expected unqualified-id before ‘using’ 
../node_modules/nan/nan_maybe_43_inl.h:19:12: error: ‘Maybe’ does not name a type 
../node_modules/nan/nan_maybe_43_inl.h:24:12: error: ‘Maybe’ does not name a type 
../node_modules/nan/nan_maybe_43_inl.h:31:1: error: ‘MaybeLocal’ does not name a type 
... 
[about 100 lines of log errors] 
... 
../node_modules/nan/nan_new.h:36:1: warning: control reaches end of non-void function [-Wreturn-type] 
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1 
make: Leaving directory `/home/cavpollo/intuitiva/cirio/cirio-id/node_modules/bcrypt/build' 
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23) 
gyp ERR! stack  at emitTwo (events.js:87:13) 
gyp ERR! stack  at ChildProcess.emit (events.js:172:7) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) 
gyp ERR! System Linux 3.2.0-37-generic-pae 
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /home/cavpollo/intuitiva/cirio/cirio-id/node_modules/bcrypt 
gyp ERR! node -v v5.0.0 
gyp ERR! node-gyp -v v3.0.3 
gyp ERR! not ok 
npm ERR! Linux 3.2.0-37-generic-pae 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v5.0.0 
npm ERR! npm v3.3.10 
npm ERR! code ELIFECYCLE 

npm ERR! [email protected] install: `node-gyp rebuild` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the bcrypt package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls bcrypt 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/cavpollo/intuitiva/cirio/cirio-id/npm-debug.log  

任意のエラーに関するウェブ上の情報、およびNodeJS V4を使用したように見えるdoesntの:コマンドを呼び出すと、は細部の長いリストが、問題についての明確な情報を吐き出し失敗しNPMをインストールします。 XXはまったく助けませんでした。

マイセットアップ:

  • のUbuntu 12.04
  • 、誰かが指摘したノードのV5.0.0
  • のNPM v3.3.10

答えて

20

ずっとグーグル検索した後、そのNodeJS V4のための(およびそれ以降バージョン)では、GCCの新しいバージョンが必要です(4.8)。

私の現在のバージョンは、あなたが見ることができるように4.6.3だった:

$ gcc --version 
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 

をだから取ったすべてはそれを更新し、これらのリンクの助けを借りてそれを行うことができました:

How to install Gcc 4.8

How do I use the latest GCC 4.9 on Ubuntu 14.04

私が使用して終了コマンドのシーケンスは以下の通りであった。

$ sudo apt-get install python-software-properties 
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
$ sudo apt-get update 
$ sudo apt-get install gcc-4.8 g++-4.8 
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 

は、私が「NPMインストール」と呼ぶことができましたその後再びGCCのバージョン

$ gcc --version 
gcc (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1 

をチェックして、物事完璧に行ってきました。

+0

からの答えはそれだけでなく、私のために働いた:) –

+0

@MohitSoniイェーイ= Dを、私はそれが掲示用 – cavpollo

+0

感謝をしたうれしいです。 ubuntuでV5にアップグレードし、同じ問題がありました。これは魅力的に機能しました。 –

3

へv0.12.6から

更新NodeJSは、更新のこの一行は、私のために働きました。発見このリンクhttps://github.com/ncb000gt/node.bcrypt.js/issues/351

sudo apt-get install build-essential 

Then install bcrypt: 

npm install bcrypt 
+1

このパッケージはgccをアップデートします。それが働く理由かもしれない – yuji

関連する問題