2015-11-04 12 views
8

के लिए असफल हो गया कुछ समय पहले मैंने नोडजेएस (v0.10.31) स्थापित किया था और बिना किसी समस्या के प्रोजेक्ट पर काम किया था, लेकिन हाल ही में मैंने नोड v5.0.0 को अपडेट करने का निर्णय लिया था। सब ठीक था जब तक कि मैंने bcrypt और db-migrate का उपयोग करने का निर्णय लिया। कॉलिंग आदेश NPM स्थापित विवरण की एक लंबी सूची है, लेकिन समस्या के बारे में कोई स्पष्ट जानकारी बाहर थूकना विफल हो जाएगा:नोडजेएस 4 और 5 एनपीएम इंस्टॉल बीसीआरपीटी और डीबी-माइग्रेट

$ 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 के प्रयोग से। एक्सएक्स ने सभी को भी मदद नहीं की।

मेरे सेटअप:

  • Ubuntu 12.04
  • नोड v5.0.0
  • NPM v3.3.10

उत्तर

20

ज्यादा गूगल खोज के बाद, किसी ने बताया कि NodeJS V4 के लिए (और नए संस्करण) जीसीसी का एक नया संस्करण आवश्यक है (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 

फिर से जांच की जा रही जीसीसी संस्करण

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

कि मैं फोन करने के लिए 'NPM स्थापित' कर रहा था के बाद और चीजों को दोषरहित पर चला गया।

+0

यह मेरे लिए के रूप में अच्छी तरह से काम :) –

+0

@MohitSoni Yay = D मुझे खुशी है कि यह किया – cavpollo

+0

पोस्टिंग के लिए धन्यवाद कर रहा हूँ से जवाब मिले। उबंटू पर वी 5 में अपग्रेड करना और एक ही समस्या थी। इसने एकदम जादू की तरह काम किया। –

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

यह पैकेज जीसीसी अद्यतन करता है। यही कारण है कि यह काम करता है – yuji

संबंधित मुद्दे