如何在Windows 10上安装bcrypt

时间:2019-01-15 15:11:21

标签: node.js express bcrypt

我想在我的Express项目中安装bcrypt。我已按照本page中针对Windows用户提供的说明进行操作。我只运行了给定的命令npm install --global --production windows-build-tools,它成功完成了如下图所示的操作。

enter image description here 但是仍然在运行npm i bcrypt时出现以下错误:

  

node-pre-gyp WARN使用针进行node-pre-gyp https下载   node-pre-gyp WARN尝试下载(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找不到针对bcrypt@3.0.3和node@10.15.0的预构建二进制文件(node-v64 ABI,未知)(回退到使用node-gyp进行源编译)   糟糕!堆栈错误:找不到Python可执行文件“ python2.7”,您可以设置PYTHON env变量。   ....更多错误

我设法从此答案here设置Python路径。现在我收到此错误:

  

node-pre-gyp WARN使用针进行node-pre-gyp https下载   node-pre-gyp WARN试图下载(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找不到bcrypt@3.0.3和node@10.15.0的预构建二进制文件(node-v64 ABI,未知)(使用node-gyp回到源代码编译)在一次解决这个问题。要启用并行构建,请添加“ / m”开关。 blowfish.cc bcrypt.cc bcrypt_node.cc win_delay_load_hook.cc

5 个答案:

答案 0 :(得分:1)

您正在尝试下载bcrypt的GitHub中不再存在的软件包,或者该软件包已移动。 无论哪种方式,bcrypt主要都是python软件包。使用npm,它会强制您使用python 2.7,同时存在用于python 3的功能完善的bcrypt(过去使用过)。

我建议使用以节点为中心的软件包,而不是bcrypt或将其使用与npm分开并与python 3分开运行。

答案 1 :(得分:0)

安装 node-gyp全局打包,然后重试npm i bcrypt

npm i -g node-gyp

答案 2 :(得分:0)

经过在Windows 10中安装bcrypt的艰苦努力之后,我最终放弃了并决定安装替代软件包bcrypt.js,该软件包是用JavaScript编写的具有 zero 依赖关系的优化bcrypt 。希望这对遇到类似问题的人有所帮助。

只需使用npm i bcryptjs代替npm i bcrypt

答案 3 :(得分:0)

我尝试写npm i -g bcrypt,然后写npm i bcrypt。现在它对我有用!

答案 4 :(得分:0)

就我而言,环境变量是一团糟。

我必须清除有关node-gyp的环境变量。 npm life-cycle模块依赖于node-gyp,它在路径中以node-gyp

的形式出现

我还注意到python有多个条目,一个是2.7,另一个是3.x 我把它们都保留了下来,并确保npm使用python 2.7

然后我在全球安装了node-gyp,最后安装了npm i bcrypt

https://github.com/nodejs/node-gyp#installation