Saya tidak dapat menginstal bcrypt
menggunakan npm
pada mesin saya karena saya mengalami kesalahan berikut. Saya telah memecahkan masalah ini tanpa banyak keberuntungan. Dapatkah Anda merekomendasikan langkah apa pun untuk mendiagnosis atau memperbaiki masalah sehingga saya dapat berjalan dengan npm install bcrypt
sukses?
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
untuk windows instal modul berikut
lalu coba instal
sumber
python
executable ke variabel lingkungan PATH Anda , sehingga penginstal menemukannya, tampaknya perlu untuk menjalankan penginstalan dengan benar.windows-build-tools
penginstalan selesai. Terima kasih atas jawaban ini btwPada perintah ini:
Anda mungkin harus menjalankan ini di Powershell sebagai administrator di mesin Windows Anda.
Anda melakukannya dengan mengklik kanan pada Powershell dan memilih "Run As Administrator"
sumber
Solusi yang diterima berfungsi tetapi bcryptjs lebih lambat dari versi python dan c ++.
Jika Anda masih ingin bcrypt insted dari solusi kerja bcryptjs adalah perintah di bawah ini, tetapi mereka juga bisa mengalami masalah.
Di Windows perintah kedua akan mencoba menginstal visual studio bersama dengan python dan karenanya masalah muncul. karena kami mengapa kami ingin menginstal Visual studio dan itu membutuhkan banyak waktu. dan itu juga menghalangi instalasi python. Dan jika Anda lupa menjalankan perintah tersebut sebagai Administrator maka mereka akan diinstal di C: \ Users \ User.windows-build-tools yang selanjutnya tidak akan berfungsi karena node akan mencari python di C: \ atau C: \ Program Files \ . Karenanya perintah ini dalam beberapa kasus meningkatkan komplikasi Anda.
Jadi ide terbaik bagi Anda adalah ✔️install python secara manual untuk Semua Pengguna Dan Tidak perlu menambahkan python ke jalur lingkungan. Dan jalankan hanya perintah pertama yaitu
Sekarang Anda siap untuk menginstal bcrypt
sumber
Di Mac OS, setelah pembaruan Xcode, menjalankan
sudo gcc
dan menerima lisensi baru Xcode memecahkan masalah!sumber
Saya hanya menjalankan yang berikut ini kemudian mencoba menginstal dan berhasil:
sumber
Saya menghadapi masalah yang sama di sisi server (aws ubuntu 16.04).
Saya mencoba menghapus node_module / bcrypt
sudo rm -rf node_module/bcrypt
berkali-kali dan menginstalnya kembali dengan berbagai cara tetapi masih menghadapi masalah yang sama.Saya memeriksa versi node dengan nvm dan itu juga menunjukkan stabil (v10.11.0).
Akhirnya, saya mencoba.
dan itu berhasil untuk saya.
sumber
Jika Anda menggunakan windows, jalankan PowerShell sebagai administrator dan gunakan perintah ini.
dan kemudian instal bcrypt menggunakan
sumber
Saya juga mengalami masalah yang sama. Perintah berikut membantu saya.
kemudian
sumber
Alasan Kesalahan : Node mungkin tidak dapat menemukan jalur Python di sistem Anda
Larutan
langkah: 1 Rum command prompt sebagai administrator langkah 2 Instal paket
npm install --global --production windows-build-tools
Mungkin butuh beberapa saat, tetap bersabar
langkah 3 Sekarang instal
Langkah terakhir Sekarang Anda siap untuk Pergi
sumber
Saya berhasil menyelesaikan ini dengan menjalankan perintah:
sudo apt-get install -y build-essential python
dan kemudianyarn add bcrypt
.Anda dapat menemukan petunjuknya di sini:
https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions
https://github.com/kelektiv/node.bcrypt.js
sumber
Tingkatkan ke [email protected]
npm i [email protected]
Saya tidak mendapatkan kesalahan pada versi bcrypt yang lebih baru ini, versi yang lebih lama memberikan berbagai jenis kesalahan mulai dari tidak dapat menginstal bcrypt hingga kesalahan jenis skrip
sumber
jika salah satu cara di atas gagal berfungsi, lakukan:
Setelah itu kunjungi situs unduhan resmi python Tautan unduhan resmi Python
Instal versi terbaru python, pastikan untuk mencentang tambahkan python ke jalur
Setelah instalasi, lakukan:
sumber
Saya menginstal bcrypt-nodejs meskipun sudah tidak digunakan lagi, lalu menghapusnya dan menginstal bcrypt lagi. Seperti ini, saya berhasil menginstal bcrypt dan berfungsi dengan baik.
sumber
Lari
menginstal semua alat yang Anda butuhkan untuk menginstal bcrypt di Linux. Lalu kamu bisa lari
sumber
Saya memiliki versi node 12.18.3 dan memperbaikinya dengan menjalankan
npm i [email protected]
sumber
Punya masalah yang sama. Memperbarui npm dan coba lagi (biasanya npm install -g npm). Ini memperbaiki masalah saya.
sumber