【问题标题】:Install bcrypt without Visual Studio在没有 Visual Studio 的情况下安装 bcrypt
【发布时间】:2014-06-24 20:38:26
【问题描述】:

我正在尝试通过npm 安装bcrypt,但出现Failed at the bcrypt@0.7.8 install script. 错误。

我使用的是 Windows 8 x64,节点版本 0.10.29。

查看bcrypt 的依赖项告诉我我需要node-gyp,这显然需要Visual Studio 2012 和python。真的?我真的需要安装一个我不会用于这个单一节点模块的完整 IDE 吗?

是编译器node-gyp 之后,还是我可以安装的VS 中的其他一些小组件可以解决问题?

希望有任何关于如何使用尽可能少的额外功能来实现此功能的建议。

【问题讨论】:

  • 根据文档,您至少需要安装 VS Express。如果你想知道为什么会这样,或者如果你可以安装一小部分功能,你可能会更好地在他们的 github 上提问:github.com/TooTallNate/node-gyp
  • 很多已编译的扩展都依赖于编译器,这并不奇怪。不过,您也许可以找到纯 JavaScript 替代方案。

标签: node.js bcrypt node-gyp


【解决方案1】:

如前所述,您可以免费安装 VC++ Express(和 Windows SDK)。但是,如果您真的对此感到困扰,您可以使用bcrypt API 兼容模块,即implemented in pure javascript,但您会看到性能下降。

我还应该注意,现在 npm 上有许多(有用的)模块需要编译,所以你很可能会从编译器中获得比你想象的更多的用途。

【讨论】:

  • 非常喜欢没有依赖的部分。密码加密和解密应该很慢吧?
  • 怎么会有人为在他的 Windows 服务器上安装 Visual Studio 和 Windows SDK 而烦恼呢?当然,让我们在我的服务器上放那 GB 的垃圾。由 V8 编译和运行的纯 JS 非常快。这是pure JS solution for bcrypt。我想看看一个基准。
  • 至少有benchmarks for the pure-JS module I linked to,与编译后的插件相比。
  • @ChristiaanWesterbeek 另外,您不需要在生产系统上安装 Visual Studio 等,只需在开发系统上安装即可。然后,您可以将编译后的插件部署到您的 Windows 服务器。
  • @mscdex 你怎么能做到这一点?编译插件然后将其分发到生产机器上?有什么线索吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
相关资源
最近更新 更多