【问题标题】:How to install bcrypt on Windows 10如何在 Windows 10 上安装 bcrypt
【发布时间】:2019-01-15 15:11:20
【问题描述】:

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

但是当我运行npm i bcrypt 时仍然出现以下错误:

node-pre-gyp WARN 使用 needle 进行 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 环境变量。 ....更多错误

我设法从这个答案here 设置 Python 路径。现在我得到这个错误:

node-pre-gyp WARN 使用 needle 进行 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

【问题讨论】:

  • 我不知道它是否有效。 npm cache clean --force

标签: node.js express bcrypt


【解决方案1】:

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

npm i -g node-gyp

【讨论】:

  • 这立即为我修好了!谢谢你。 (在我看来,这应该是公认的答案——问题是如何在 Windows 上安装 bcrypt,而不是“什么是 Windows 上 bcrypt 的替代品”)
【解决方案2】:

在 Windows 10 中安装 bcrypt 后,我终于放弃并决定安装替代包 bcrypt.js,它是用 JavaScript 编写的优化 bcrypt,具有 依赖项。希望这对面临类似问题的人有所帮助。

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

【讨论】:

    【解决方案3】:

    您正在尝试下载不再存在于 bcrypt 的 GitHub 中的包,或者该包已移动。 无论哪种方式,bcrypt 主要是一个 python 包。使用 npm,它会强制你使用 python 2.7,而对于 python 3 有一个完美功能的 bcrypt 版本(过去使用它)。

    我建议使用以节点为中心的包而不是 bcrypt 或将其从 npm 中分离出来并使用 python 3 单独运行。

    【讨论】:

    • 感谢您的回复!但是,以节点为中心的包是什么意思?我应该使用哪一个?
    • 这个question的回答中有一些不错的建议
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      在我的情况下,环境变量是一团糟。

      我必须清理有关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

      【讨论】:

        【解决方案6】:

        有时npm i -g node-gyp 命令不起作用。在我的情况下,我只是运行命令 npm i -g node-gyp 并尝试卸载并再次安装 bycript 并且它可以工作。

        删除 bcrypt

        npm 卸载 bcrypt

        重新下载bcrypt

        npm 安装 bcrypt

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-06
          • 2020-02-16
          • 2020-01-27
          • 2016-05-03
          • 2020-12-28
          • 1970-01-01
          相关资源
          最近更新 更多