Je souhaite installer bcrypt dans mon projet Express. J'ai suivi les instructions fournies dans cette page a > pour les utilisateurs de Windows. Je viens d'exécuter la commande donnée npm install --global --production windows-build-tools
et c'était avec succès comme indiqué dans l'image ci-dessous.
Mais quand je lance npm i bcrypt
, j'obtiens l'erreur suivante:
node-pre-gyp WARN Utilisation de l'aiguille pour le téléchargement https de node-pre-gyp node-pre-gyp WARN Tentative de téléchargement (404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.3/bcrypt_lib-v3.0.3-node -v64-win32-x64-unknown.tar.gz node-pre-gyp WARN Binaires pré-construits introuvables pour bcrypt@3.0.3 et node@10.15.0 (node-v64 ABI, unknown) (retour à la compilation source avec node-gyp) gyp ERR! Erreur de pile: Impossible de trouver l'exécutable Python "python2.7", vous pouvez définir la variable d'environnement PYTHON. .... plus d'erreurs
J'ai réussi à définir le chemin Python à partir de cette réponse ici . Maintenant, j'obtiens cette erreur:
node-pre-gyp WARN Utilisation de l'aiguille pour le téléchargement https de node-pre-gyp node-pre-gyp WARN Tentative de téléchargement (404) https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.3/bcrypt_lib-v3.0.3-node- v64-win32-x64-unknown.tar.gz
node-pre-gyp WARN Binaires pré-construits introuvables pour bcrypt@3.0.3 et node@10.15.0 (node-v64 ABI, unknown) (retour à la compilation source avec node-gyp) Construction des projets dans cette solution une à la fois. Pour activer la construction parallèle, veuillez ajouter le commutateur "/ m". blowfish.cc bcrypt.cc bcrypt_node.cc win_delay_load_hook.cc
5 Réponses :
soit vous essayez de télécharger un package qui n'est plus présent dans le GitHub de bcrypt OU le package a été déplacé. Quoi qu'il en soit, bcrypt est principalement un package python. En utilisant npm, cela vous oblige à utiliser python 2.7 alors qu'il existe une version parfaitement fonctionnelle de bcrypt pour python 3 (utilisée dans le passé).
Je recommande d'utiliser un package centré sur les nœuds au lieu de bcrypt ou de dissocier son utilisation de npm et de l'exécuter séparément avec python 3.
Merci pour la réponse! Mais qu'entendez-vous par package centré sur les nœuds? Lequel dois-je utiliser?
Il y a quelques bonnes suggestions dans les réponses à cette question < / a>
Installer
node-gyp globalement, puis réessayez npm i bcrypt
< pré> XXX
Cela m'a résolu tout de suite! Je vous remercie. (cela devrait être la réponse acceptée à mon avis - la question est de savoir comment installer bcrypt sur Windows, et non "quelle est une alternative à bcrypt sur Windows")
Après tant de difficultés à installer bcrypt dans Windows 10, j'ai finalement abandonné et j'ai décidé pour installer un package alternatif bcrypt.js qui est optimisé bcrypt écrit en JavaScript avec zéro < / strong> dépendances. J'espère que cela aidera quelqu'un qui fait face à un problème similaire.
Utilisez simplement npm i bcryptjs
au lieu de npm i bcrypt
J'ai essayé d'écrire npm i -g bcrypt
puis d'écrire npm i bcrypt
. Maintenant, ça marche pour moi!
Dans mon cas, la variable d'environnement était en désordre.
Je dois nettoyer la variable d'environnement concernant node-gyp
. Le module npm life-cycle
dépendait de node-gyp
et il était présent dans le chemin comme node-gyp
J'ai également remarqué qu'il y avait plusieurs entrées pour python, une pour 2.7 et une autre pour 3.x Je les ai gardés tous les deux et m'assure que npm a utilisé python 2.7
Ensuite, j'ai installé node-gyp
globalement et enfin npm i bcrypt
Je ne sais pas que ça marche ou pas.
npm cache clean --force