bcrypt@1.0.3 安装:`node-pre-gyp install --fallback-to-build`

5
在我的Windows机器上安装bcrypt时,我遇到了这个错误,我正在使用:
  • node v8.9.4
  • npm v5.6.0
  • bcrypt v1.0.3
C:\Users\user\Desktop\mysql_node_api\register_login\register_login>npm install bcrypt --save > bcrypt@1.0.3 install C:\Users\user\Desktop\mysql_node_api\register_login\regis ter_login\node_modules\bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp ERR! Tried to download(undefined): https://github.com/kelektiv/node.bcrypt.js/releases/download/v1.0.3/bcrypt_lib-v1.0.3-node-v57-win32-x64.tar.gz,node-pre-gyp ERR! Pre-built binaries not found for bcrypt@1.0.3 and node@8.9.4 ( node-v57 ABI) (falling back to source compile with node-gyp) gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at PythonFinder.failNoPython (C:\Users\user\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19) gyp ERR! stack at PythonFinder. (C:\Users\user\AppData\Roaming\np m\node_modules\npm\node_modules\node-gyp\lib\configure.js:508:16) gyp ERR! stack at C:\Users\user\AppData\Roaming\npm\node_modules\npm\node_mo dules\graceful-fs\polyfills.js:284:29 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:152:21) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\user\AppData \Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "co nfigure" "--fallback-to-build" "--module=C:\Users\user\Desktop\mysql_node_ap i\register_login\register_login\node_modules\bcrypt\lib\binding\bcrypt_li b.node" "--module_name=bcrypt_lib" "--module_path=C:\Users\user\Desktop\mysq l_node_api\register_login\register_login\node_modules\bcrypt\lib\binding" gyp ERR! cwd C:\Users\user\Desktop\mysql_node_api\register_login\register_login\node_modules\bcrypt gyp ERR! node -v v8.9.4 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.e xe C:\Users\user\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\ node-gyp.js configure --fallback-to-build --module=C:\Users\user\Desktop\mysql_n ode_api\register_login\register_login\node_modules\bcrypt\lib\binding\bcrypt_lib .node --module_name=bcrypt_lib --module_path=C:\Users\user\Desktop\mysql_node_ap i\register_login\register_login\node_modules\bcrypt\lib\binding' (1) node-pre-gyp ERR! stack at ChildProcess. (C:\Users\user\Desktop\m ysql_node_api\register_login\register_login\node_modules\node-pre-gyp\lib\util\c ompile.js:83:29) node-pre-gyp ERR! stack at emitTwo (events.js:126:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:214:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:925:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/chi ld_process.js:209:5) node-pre-gyp ERR! System Windows_NT 6.1.7601 node-pre-gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\user \Desktop\mysql_node_api\register_login\register_login\node_modules\node-pr e-gyp\bin\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\Users\user\Desktop\mysql_node_api\register_login\regist er_login\node_modules\bcrypt node-pre-gyp ERR! node -v v8.9.4 node-pre-gyp ERR! node-pre-gyp -v v0.6.36 node-pre-gyp ERR! not ok Failed to execute 'C:\
3个回答

9

我也遇到了这个错误,我使用的是 node v14.x 版本。我发现 bcrypt v1.0.3 的预构建二进制文件不适用于 node v14。为了解决这个问题,我需要安装一个不同版本的 bcrypt。

npm uninstall bcrypt --save
npm install bcrypt@5 --save

就是这样,现在它可用了!


谢谢,这对我来说真的像魔法一样有效。我也遇到了同样的问题,但你的解决方案就像魔法一样。 - kukab

4

经过多次研究,我终于解决了这个问题。所以,那些遇到这个问题的人只需要按照以下步骤操作:

我刚刚安装了Python并设置了环境变量,现在它对我来说完美运行。

  • 安装Python(在Windows中安装时,您可以选择将路径添加到环境变量中,只需勾选复选框即可)
  • 在环境变量中设置路径
  • 现在将下载的python.exe文件存储在此目录中“c:\Python\27\python.exe”
  • 现在在终端中运行此命令npm config set python "c:\Python\27\python.exe"

现在执行npm install或运行您的项目。 我想现在您的问题已经解决了。 :-)


1
在我的情况下,安装Python并没有解决我的问题。我使用了bcryptjs代替bcrypt,然后它就可以工作了。更多详情请参见this video

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接