Ich kann nicht bcrypt
mit npm
auf meinem Computer installieren , da die folgenden Fehler auftreten. Ich habe das Problem ohne viel Glück behoben. Können Sie Schritte zur Diagnose oder Behebung des Problems empfehlen, damit ich npm install bcrypt
erfolgreich ausgeführt werden kann?
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
Installieren Sie für Windows das folgende Modul
Versuchen Sie dann zu installieren
quelle
python
Ihrer Umgebungsvariablen PATH auch eine ausführbare Datei hinzufügen , damit das Installationsprogramm sie findet und sie anscheinend benötigt, um die Installation ordnungsgemäß auszuführen.windows-build-tools
die Installation abgeschlossen ist. Vielen Dank für diese Antwort übrigensAuf diesen Befehl:
Möglicherweise müssen Sie dies in Powershell als Administrator auf Ihrem Windows-Computer ausführen.
Klicken Sie dazu mit der rechten Maustaste auf Powershell und wählen Sie "Als Administrator ausführen".
quelle
Die akzeptierte Lösung funktioniert, aber bcryptjs ist langsamer als die Python- und C ++ - Version.
Wenn Sie immer noch möchten, dass bcrypt von bcryptjs Arbeitslösung installiert wird, geben Sie den folgenden Befehl ein, aber sie können auch Probleme haben.
Unter Windows versucht der zweite Befehl, Visual Studio zusammen mit Python zu installieren, und daher tritt das Problem auf. weil wir warum sollten wir Visual Studio installieren wollen und es viel Zeit in Anspruch nimmt. und es behindert auch die Installation von Python. Und wenn Sie vergessen, diesen Befehl als Administrator auszuführen, werden sie unter C: \ Users \ User.windows-build-tools installiert, was außerdem nicht funktioniert, da der Knoten in C: \ oder C: \ Programme \ nach Python sucht . Daher erhöhen diese Befehle in einigen Fällen Ihre Komplikationen.
Die beste Idee für Sie ist es, Python manuell für alle Benutzer zu installieren. Es ist nicht erforderlich, Python zum Umgebungspfad hinzuzufügen. Und führen Sie nur den ersten Befehl aus, dh
Jetzt können Sie bcrypt installieren
quelle
Unter Mac OS
sudo gcc
löste das Ausführen und Akzeptieren der neuen Lizenz von Xcode nach einem Xcode-Update das Problem!quelle
Ich habe gerade Folgendes ausgeführt und dann die Installation versucht und es hat funktioniert:
quelle
Ich hatte das gleiche Problem auf der Serverseite (aws ubuntu 16.04).
Ich habe mehrmals versucht, node_module / bcrypt zu löschen
sudo rm -rf node_module/bcrypt
und es auf verschiedene Weise immer wieder neu zu installieren, habe aber immer noch das gleiche Problem.Ich habe die Knotenversion mit nvm überprüft und sie zeigte auch stabil (v10.11.0).
Schließlich habe ich es versucht.
und es hat bei mir funktioniert.
quelle
Wenn Sie unter Windows arbeiten, führen Sie Powershell als Administrator aus und verwenden Sie diese Befehle.
und installieren Sie dann bcrypt mit
quelle
Ich hatte auch das gleiche Problem. Die folgenden Befehle haben mir geholfen.
dann
quelle
Grund für den Fehler : Der Knoten kann den Python-Pfad auf Ihrem System möglicherweise nicht finden
Lösung
Schritt: 1 Rum-Eingabeaufforderung als Administrator Schritt 2 Installieren Sie das Paket
Es kann einige Zeit dauern, geduldig zu bleiben
Schritt 3 Jetzt installieren
Letzter Schritt Jetzt können Sie loslegen
quelle
Ich habe es geschafft, dies zu lösen, indem ich den Befehl ausgeführt habe:
sudo apt-get install -y build-essential python
und dannyarn add bcrypt
.Die Anleitung finden Sie hier:
https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions
https://github.com/kelektiv/node.bcrypt.js
quelle
Wenn einer der oben genannten Punkte nicht funktioniert, gehen Sie wie folgt vor:
Besuchen Sie anschließend die offizielle Python-Download-Site. Offizieller Python-Download-Link
Installieren Sie die neueste Version von Python. Stellen Sie sicher, dass Sie Python zum Pfad hinzufügen aktivieren
Führen Sie nach der Installation Folgendes aus:
quelle
Ich habe bcrypt-nodejs installiert, obwohl es bereits veraltet ist, und es dann entfernt und bcrypt erneut installiert. So habe ich bcrypt erfolgreich installiert und es hat gut funktioniert.
quelle
Upgrade auf [email protected]
npm i [email protected]
Ich erhalte keine Fehler bei dieser neueren Version von bcrypt. Die ältere Version gab verschiedene Arten von Fehlern an, die von der Nichtinstallation von bcrypt bis zu Fehlern vom Typ Typoskript reichten
quelle
Laufen
Installiert alle Tools, die Sie zur Installation von bcrypt unter Linux benötigen. Dann kannst du rennen
quelle
Hatte das gleiche Problem. Aktualisieren Sie npm und versuchen Sie es erneut (normalerweise installiert npm -g npm). Es behebt das Problem für mich.
quelle