如何在Windows 10上安装bcrypt

3
我想在我的Express项目中安装bcrypt。 我按照此页面提供的说明进行操作,以供Windows用户使用。 我只需运行给定的命令npm install --global --production windows-build-tools,并且如下图所示成功执行。

enter image description here 但是,当我运行npm i bcrypt时,我仍然会收到以下错误消息:

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

我成功地从这里的答案here中设置了Python路径。现在我得到了这个错误:

node-pre-gyp警告:使用needle进行node-pre-gyp https下载

node-pre-gyp警告:尝试下载(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的预构建二进制文件未找到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


我不知道它是否有效。npm cache clean --force - Nuriddin Kudratov
6个回答

10
安装node-gyp包并全局化,然后重试npm i bcrypt
npm i -g node-gyp

1
这对我立刻解决了问题!非常感谢。(在我看来,这应该是被接受的答案——问题是如何在Windows上安装bcrypt,而不是“在Windows上有什么bcrypt替代品”) - Matt Oestreich

5

在Windows 10上安装bcrypt花费了我很多精力,最终我放弃了并决定安装替代包bcrypt.js,它是用JavaScript编写的优化bcrypt且不依赖任何库。希望这能帮助遇到类似问题的人。

只需使用npm i bcryptjs而不是npm i bcrypt


1
你正在尝试下载一个已经不存在于bcrypt的GitHub中的包,或者该包已经被移动。无论哪种情况,bcrypt主要是一个Python包。使用npm时,它会强制使用Python 2.7,而实际上有一个完全可用的Python 3版本的bcrypt(我过去曾使用过它)。
我建议使用一个以Node为中心的软件包,而不是bcrypt,或者将其与npm分离,并使用Python 3单独运行。

谢谢您的回复!但是您所说的“node centric package”是什么意思?我应该使用哪一个? - Nux
1
这个问题的答案中有一些不错的建议。 - Oren_C

1
有时候 npm i -g node-gyp 命令不起作用。在我的情况下,我只运行了命令 npm i -g node-gyp,然后尝试卸载并重新安装 bycript,这样就可以了。
删除 bcrypt

npm uninstall bcrypt

再次下载 bcrypt

npm install bcrypt


0

我试着写了npm i -g bcrypt,然后写了npm i bcrypt。现在它对我来说可以工作了!


0

在我的情况下,环境变量很混乱。

我需要清理与node-gyp相关的环境变量。npm生命周期模块依赖于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


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