Npm के साथ bcrypt स्थापित करने में त्रुटि


90

मैं अपनी मशीन bcryptका उपयोग करके स्थापित करने में असमर्थ npmहूं क्योंकि मैं निम्नलिखित त्रुटियों का सामना करता हूं। मैं इस समस्या का निवारण बहुत भाग्य के बिना कर रहा हूं। क्या आप समस्या के निदान या उसे ठीक करने के लिए कोई कदम सुझा सकते हैं ताकि मैं npm install bcryptसफलतापूर्वक चला सकूं?

Someones-Macbook:node_modules Cody$ npm install bcrypt
npm WARN package.json grunt-contrib-htmlmin@0.1.3 No README data
|
> bcrypt@0.7.7 install /Applications/MAMP/htdocs/richintime/ultimate-seed/node_modules/bcrypt
> node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
  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/src/bcrypt_node.o
../src/bcrypt_node.cc:118:18: error: no member named 'Dispose' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function>
      >'
        callback.Dispose();
        ~~~~~~~~ ^
../src/bcrypt_node.cc:202:19: error: unknown type name 'uv_work_t'
void GenSaltAsync(uv_work_t* req) {
                  ^
../src/bcrypt_node.cc:219:24: error: unknown type name 'uv_work_t'
void GenSaltAsyncAfter(uv_work_t* req) {
                       ^
../src/bcrypt_node.cc:220:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../src/bcrypt_node.cc:228:44: error: no member named 'New' in 'v8::String'
        argv[0] = Exception::Error(String::New(baton->error.c_str()));
                                   ~~~~~~~~^
../src/bcrypt_node.cc:229:19: error: no matching function for call to 'Undefined'
        argv[1] = Undefined();
                  ^~~~~~~~~
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: candidate function not viable: requires single argument 'isolate', but no
      arguments were provided
  friend Handle<Primitive> Undefined(Isolate* isolate);
                           ^
../src/bcrypt_node.cc:232:19: error: no matching function for call to 'Undefined'
        argv[0] = Undefined();
                  ^~~~~~~~~
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: candidate function not viable: requires single argument 'isolate', but no
      arguments were provided
  friend Handle<Primitive> Undefined(Isolate* isolate);
                           ^
../src/bcrypt_node.cc:238:20: error: member reference type 'v8::Persistent<v8::Function>' is not a pointer; maybe you meant to use '.'?
    baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
    ~~~~~~~~~~~~~~~^~
                   .
../src/bcrypt_node.cc:238:22: error: no member named 'Call' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function> >'
    baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
    ~~~~~~~~~~~~~~~  ^
../src/bcrypt_node.cc:238:36: error: no member named 'GetCurrent' in 'v8::Context'
    baton->callback->Call(Context::GetCurrent()->Global(), 2, argv);
                          ~~~~~~~~~^
../src/bcrypt_node.cc:246:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> GenerateSalt(const Arguments &args) {
                                 ^~~~~~~~~
                                 v8::internal::Arguments
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../src/bcrypt_node.cc:247:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../src/bcrypt_node.cc:249:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
    const ssize_t rounds = args[0]->Int32Value();
                           ~~~~^~
../src/bcrypt_node.cc:250:30: error: type 'const v8::internal::Arguments' does not provide a subscript operator
    const int rand_len = args[1]->Int32Value();
                         ~~~~^~
../src/bcrypt_node.cc:251:58: error: type 'const v8::internal::Arguments' does not provide a subscript operator
    Local<Function> callback = Local<Function>::Cast(args[2]);
                                                     ~~~~^~
../src/bcrypt_node.cc:255:45: error: 'New' is a private member of 'v8::PersistentBase<v8::Function>'
    baton->callback = Persistent<Function>::New(callback);
                                            ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:572:23: note: declared private here
  V8_INLINE static T* New(Isolate* isolate, T* that);
                      ^
../src/bcrypt_node.cc:255:57: error: too few arguments to function call, expected 2, have 1
    baton->callback = Persistent<Function>::New(callback);
                      ~~~~~~~~~~~~~~~~~~~~~~~~~         ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8.h:572:3: note: 'New' declared here
  V8_INLINE static T* New(Isolate* isolate, T* that);
  ^
/Users/Cody/.node-gyp/0.12.0/deps/v8/include/v8config.h:289:20: note: expanded from macro 'V8_INLINE'
# define V8_INLINE inline __attribute__((always_inline))
                   ^
../src/bcrypt_node.cc:259:5: error: unknown type name 'uv_work_t'
    uv_work_t* req = new uv_work_t;
    ^
../src/bcrypt_node.cc:259:26: error: unknown type name 'uv_work_t'
    uv_work_t* req = new uv_work_t;
                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1
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:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Applications/MAMP/htdocs/richintime/ultimate-seed/node_modules/bcrypt
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm ERR! Darwin 13.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "bcrypt"
npm ERR! node v0.12.0
npm ERR! npm  v2.7.1
npm ERR! code ELIFECYCLE

npm ERR! bcrypt@0.7.7 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the bcrypt@0.7.7 install script 'node-gyp rebuild'.
npm ERR! 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

जवाबों:


211

आसान समाधान बस "bcrypt" npm मॉड्यूल से bycryptjsया पर स्विच है bcrypt-nodejs। यह ठीक उसी एपीआई है, लेकिन शुद्ध जेएस से निपटने के लिए कोई देशी ऐड-ऑन नहीं है।

npm install --save bcryptjs && npm uninstall --save bcrypt

फिर अपने requireकॉल को "bcryptjs" में बदलें, लेकिन आपके सभी कोड अन्यथा अपरिवर्तित हो सकते हैं।

दीर्घकालिक, मुझे संदेह है कि फिलहाल bcrypt नोड v0.12.0 के लिए तैयार नहीं हो सकता है, लेकिन अगर यह अंततः अपडेट और तैयार नहीं होगा।


1
अजगर संस्करण की तुलना में 2.7x धीमा
रॉकेट

1
bcryptjs मेरे लिए काम करता है। bcrypt- नोडज हालांकि, नहीं करता है।
कोल्बी कॉक्स

4
2019 - ऐसा लगता है कि bcrypt-नोडज अब समर्थित नहीं है
मैट

1
यह एक तय है, न कि फिक्स। यदि आप bcrypt के नोड वर्जन पर नहीं जा सकते हैं, तो नोड-जिप स्थापित करने के लिए जाएं (npm i bcrypt npde-gyp --force) फिर npm i की कोशिश करें। इसे सही ढंग से बनाना चाहिए।
कैयो विल्सन

1
मैंने bcrypt-nodejs स्थापित किया, हालांकि यह पहले से ही पदावनत है, और फिर इसे हटा दिया और फिर से bcrypt स्थापित किया। इस तरह, मैंने सफलतापूर्वक bcrypt इंस्टॉल किया और यह ठीक काम किया।
सुंदरदेव

34

विंडोज़ के लिए निम्न मॉड्यूल स्थापित करें

npm install -g node-gyp
npm install --g --production windows-build-tools

फिर स्थापित करने का प्रयास करें

npm install bcrypt

यह आदमी एक सही जवाब देता है। अन्य चीजों को हटा दिया जाता है।
गौरांग जोशी

इन सभी चीजों के बाद, आपको pythonअपने पर्यावरण चर PATH के लिए निष्पादन योग्य भी जोड़ना चाहिए , ताकि इंस्टॉलर को यह पता चले , ऐसा लगता है कि इसे स्थापना को ठीक से निष्पादित करने की आवश्यकता है।
रकीबुल हक

आप पॉवरशेल पर राइट क्लिक करके और "रन अस एडमिनिस्ट्रेटर" चुनें
किशन पटेल

इसके अलावा किसी भी अन्य टर्मिनल को बंद करना सुनिश्चित करें (जैसा कि मैं डिफ़ॉल्ट रूप से पॉवर्सशेल का उपयोग नहीं करता हूं) क्रम windows-build-toolsमें स्थापना को समाप्त कर दिया है। इस उत्तर के लिए धन्यवाद btw
डी फोज़

विंडोज पर प्रशासक के रूप में चलाएं
प्रथमेश अधिक

10

इस आदेश पर:

npm install --g --production windows-build-tools

आपको इसे अपनी Windows मशीन पर व्यवस्थापक के रूप में Powershell में चलाना पड़ सकता है।

आप Powershell पर राइट-क्लिक करके और "Run As Administrator" चुनें।


5

स्वीकृत समाधान कार्य करता है लेकिन bcryptjs अजगर और c ++ संस्करण की तुलना में धीमा है।

यदि आप अभी भी चाहते हैं कि bcryptjs के bcrypt काम करने वाले समाधान नीचे दिए गए कमांड हैं, लेकिन उन्हें समस्या भी हो सकती है।

✔️ npm install -g node-gyp
 npm install --g --production windows-build-tools

विंडोज में दूसरा कमांड अजगर के साथ-साथ दृश्य स्टूडियो स्थापित करने की कोशिश करेगा और इसलिए समस्या उत्पन्न होती है। क्योंकि हम विजुअल स्टूडियो को क्यों स्थापित करना चाहते हैं और इसमें बहुत समय लगता है। और यह अजगर की स्थापना में भी बाधा डालता है। और यदि आप उन कमांड को प्रशासक के रूप में चलाना भूल जाते हैं तो वे C: \ Users \ User.windows-build-tools पर स्थापित हो जाएंगे जो आगे काम नहीं करेंगे क्योंकि नोड C: \ या C: \ Program Files \ में अजगर की खोज करेंगे । इसलिए यह किसी मामले में आपकी जटिलताओं को बढ़ाता है।

तो आपके लिए सबसे अच्छा विचार सभी उपयोगकर्ताओं के लिए मैन्युअल रूप से अजगर को स्थापित करना है और पर्यावरण पथ में अजगर को जोड़ना आवश्यक नहीं है। और केवल पहली कमांड को चलाते हैं

✔️ npm install -g node-gyp

अब आप bcrypt स्थापित करने के लिए तैयार हैं

npm install bcrypt

3

Mac OS पर, Xcode अपडेट के बाद, sudo gccXcode के नए लाइसेंस को चलाने और स्वीकार करने से समस्या हल हो गई!


3

मैं बस निम्नलिखित भाग गया तो स्थापित करने की कोशिश की और यह काम किया:

npm install node-pre-gyp -g

1

मैं सर्वर साइड पर एक ही मुद्दे का सामना कर रहा था (aws ubuntu 16.04)।

मैंने sudo rm -rf node_module/bcryptकई बार नोड_मॉडल / bcrypt हटाने की कोशिश की और इसे विभिन्न तरीकों से बार-बार पुनः इंस्टॉल किया, लेकिन अभी भी एक ही मुद्दे का सामना कर रहा है।

मैंने एनवीएम के साथ नोड संस्करण की जांच की और यह स्थिर (v10.11.0) भी दिखा रहा था।

अंत में, मैंने कोशिश की।

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

और यह मेरे लिए काम किया।


1

यदि आप व्यवस्थापक के रूप में विंडो रन पॉवरशेल पर हैं और इन कमांड का उपयोग करते हैं।

npm install --g --production windows-build-tools

और फिर bcrypt का उपयोग करके इंस्टॉल करें

npm install --save bcrypt

1

मुझे भी यही समस्या हो रही थी। निम्नलिखित आदेशों ने मेरी मदद की।

npm rebuild

फिर

npm install bcrypt

1

त्रुटि का कारण : नोड शायद आपके सिस्टम पर पायथन पथ को खोजने में सक्षम नहीं है

उपाय

चरण: 1 रम कमांड प्रॉम्प्ट के रूप में व्यवस्थापक चरण 2 पैकेज स्थापित करें

  npm install --global --production windows-build-tools

कुछ समय लग सकता है, धैर्य रखें

चरण 3 अब स्थापित करें

npm install node-gyp

अंतिम चरण अब आप जाने के लिए तैयार हैं

npm install bcrypt


0

यदि उपरोक्त में से कोई भी काम करने में विफल रहता है, तो:

npm install node-gyp

बाद में आधिकारिक अजगर डाउनलोड साइट आधिकारिक पायथन डाउनलोड लिंक पर जाएं

अजगर के नवीनतम संस्करण को स्थापित करें, सुनिश्चित करें कि पथ में अजगर जोड़ें पथ में अजगर जोड़ें

स्थापना के बाद, करें:

npm --save install bcrypt

0

मैंने bcrypt-nodejs स्थापित किया, हालांकि यह पहले से ही पदावनत है, और फिर इसे हटा दिया और फिर से bcrypt स्थापित किया। इस तरह, मैंने सफलतापूर्वक bcrypt इंस्टॉल किया और यह ठीक काम किया।

yarn add bcrypt-nodejs
yarn remove bcrypt-nodejs
yarn add bcrypt 

0

Bcrypt@5.0.0 पर अपग्रेड करें

npm i bcrypt@5.0.0

मुझे bcrypt के इस नए संस्करण में त्रुटियां नहीं मिल रही हैं, पुराने संस्करण ने विभिन्न प्रकार की त्रुटियां दीं, जो कि bcrypt को टाइपस्क्रिप्ट त्रुटियों को स्थापित करने में सक्षम नहीं हैं


0

चल रहा है

sudo apt install build-essential

लिनक्स पर bcrypt स्थापित करने के लिए आवश्यक सभी उपकरण स्थापित करता है। तब तुम दौड़ सकते हो

npm install

-1

एक ही समस्या थी। Npm को अपडेट करना और फिर से प्रयास करना (npm install -g npm आमतौर पर)। यह मेरे लिए समस्या को ठीक करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.