Je ne parviens pas à installer bcrypt
utilisant npm
sur ma machine car je rencontre les erreurs suivantes. J'ai résolu le problème sans beaucoup de chance. Pouvez-vous recommander des étapes pour diagnostiquer ou résoudre le problème afin que je puisse exécuter npm install bcrypt
correctement?
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
pour windows installez le module suivant
puis essayez d'installer
la source
python
exécutable à votre variable d'environnement PATH , afin que le programme d'installation le trouve, semble en avoir besoin pour exécuter l'installation correctement.windows-build-tools
terminer l'installation. Merci pour cette réponse btwSur cette commande:
Vous devrez peut-être l'exécuter dans Powershell en tant qu'administrateur sur votre ordinateur Windows.
Pour ce faire, cliquez avec le bouton droit sur Powershell et sélectionnez "Exécuter en tant qu'administrateur"
la source
La solution acceptée fonctionne mais bcryptjs est plus lent que la version python et c ++.
Si vous voulez toujours que bcrypt insted de la solution de travail de bcryptjs sont la commande ci-dessous, mais ils peuvent aussi avoir des problèmes.
Dans Windows, la deuxième commande essaiera d'installer Visual Studio avec Python et le problème se posera donc. parce que nous pourquoi voudrions-nous installer Visual Studio et cela prend beaucoup de temps. et cela empêche également l'installation de python. Et si vous oubliez d'exécuter ces commandes en tant qu'administrateur, elles seront installées dans C: \ Users \ User.windows-build-tools, ce qui ne fonctionnera plus car le nœud recherchera python dans C: \ ou C: \ Program Files \ . Par conséquent, ces commandes dans certains cas augmentent vos complications.
Donc, la meilleure idée pour vous est de ✔️installer python manuellement pour tous les utilisateurs et il n'est pas nécessaire d'ajouter python au chemin de l'environnement. Et exécutez uniquement la première commande ie
Vous êtes maintenant prêt à installer bcrypt
la source
Sur Mac OS, après une mise à jour de Xcode, exécuter
sudo gcc
et accepter la nouvelle licence de Xcode a résolu le problème!la source
J'ai juste exécuté ce qui suit, puis j'ai essayé l'installation et cela a fonctionné:
la source
J'étais confronté au même problème côté serveur (aws ubuntu 16.04).
J'ai essayé de supprimer node_module / bcrypt
sudo rm -rf node_module/bcrypt
plusieurs fois et je l'ai réinstallé encore et encore de différentes manières mais toujours confronté au même problème.J'ai vérifié la version du nœud avec nvm et elle montrait également stable (v10.11.0).
Finalement, j'ai essayé.
et cela a fonctionné pour moi.
la source
Si vous êtes sous Windows, exécutez PowerShell en tant qu'administrateur et utilisez ces commandes.
puis installez bcrypt en utilisant
la source
J'avais aussi le même problème. Les commandes suivantes m'ont aidé.
puis
la source
Raison de l'erreur : le nœud ne peut peut-être pas trouver le chemin Python sur votre système
Solution
étape: 1 invite de commande Rum en tant qu'administrateur étape 2 Installez le package
Cela peut prendre un certain temps, restez patient
étape 3 Maintenant, installez
Dernière étape Vous êtes maintenant prêt à partir
la source
J'ai réussi à résoudre ce problème en exécutant la commande:
sudo apt-get install -y build-essential python
et puisyarn add bcrypt
.Vous pouvez trouver les instructions ici:
https://github.com/kelektiv/node.bcrypt.js/wiki/Installation-Instructions
https://github.com/kelektiv/node.bcrypt.js
la source
si l'un des éléments ci-dessus ne fonctionne pas, procédez comme suit:
Ensuite, visitez le site de téléchargement officiel de Python Lien de téléchargement officiel de Python
Installez la dernière version de python, assurez-vous de cocher ajouter python au chemin
Après l'installation, faites:
la source
J'ai installé bcrypt-nodejs bien qu'il soit déjà obsolète, puis je l'ai supprimé et réinstallé bcrypt. Comme ça, j'ai installé bcrypt avec succès et cela a bien fonctionné.
la source
Mettre à niveau vers [email protected]
npm i [email protected]
Je n'obtiens pas d'erreurs sur cette version plus récente de bcrypt, l'ancienne version donnait différents types d'erreurs allant de l'impossibilité d'installer bcrypt aux erreurs de type dactylographié
la source
Fonctionnement
installe tous les outils dont vous avez besoin pour installer bcrypt sur Linux. Alors tu peux courir
la source
J'avais la version de nœud 12.18.3 et je l'ai corrigé en exécutant
npm i [email protected]
la source
Avait le même problème. Mettre à jour npm et réessayer (npm install -g npm généralement). Cela résout le problème pour moi.
la source