bcrypt - windows 10 x64构建错误

时间:2016-10-19 11:32:07

标签: node.js npm bcrypt

我在windows 10 x64上遇到bcrypt安装问题。

我的安装:

node = 6.31
node-gyp = 3.4.0
npm = 3.10.3
python = 2.7.0
VSCommunity 2015
windows build tools

我已经了解了如何使用bcrypt包,基于node-gyp。我真的厌倦了与这个问题的斗争。我收到错误:(PS我试过v0.8.6)

> bcrypt@0.8.6 install C:\Users\pi15463\www\BaaS\node_modules\bcrypt
> node-gyp rebuild


C:\Users\pi15463\www\BaaS\node_modules\bcrypt>if not defined npm_config_node_gyp                   (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_mo                  dules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build,                   please add the "/m" switch.
  blowfish.cc
  bcrypt.cc
  bcrypt_node.cc
..\src\bcrypt.cc(232): warning C4267: '=': conversion from 'size_t' to 'unsigned                   char', possible loss of data [C:\Users\pi15463\www\BaaS\node_modules\bcrypt\bui                  ld\bcrypt_lib.vcxproj]
..\src\bcrypt_node.cc(76): warning C4244: 'argument': conversion from 'ssize_t'                   to 'unsigned char', possible loss of data [C:\Users\pi15463\www\BaaS\node_module                  s\bcrypt\build\bcrypt_lib.vcxproj]
..\src\bcrypt_node.cc(229): warning C4267: 'initializing': conversion from 'size                  _t' to 'int', possible loss of data [C:\Users\pi15463\www\BaaS\node_modules\bcry                  pt\build\bcrypt_lib.vcxproj]
..\src\bcrypt_node.cc(230): warning C4267: 'initializing': conversion from 'size                  _t' to 'int', possible loss of data [C:\Users\pi15463\www\BaaS\node_modules\bcry                  pt\build\bcrypt_lib.vcxproj]
  win_delay_load_hook.c
C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_loa                  d_hook.c(34): error C2373: '__pfnDliNotifyHook2': redefinition; different type m                  odifiers [C:\Users\pi15463\www\BaaS\node_modules\bcrypt\build\bcrypt_lib.vcxproj                  ]
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\delayimp.h(134)                  : note: see declaration of '__pfnDliNotifyHook2'

就像你看到一个警告,根本没有文件。我看到了一些类似的问题,但every1有不同的配置,所以我决定创建一个新的线程。 为什么在Ubuntu上一切正常,在Windows上总是有问题......

讨厌我的公司电脑。

请提示,以及最好的问候! Uland

1 个答案:

答案 0 :(得分:-1)

我遇到了同样的问题:Windows10 pc,无法安装bcrypt。

我通过使用 bcryptjs 解决了这一问题(不要将其与bcrypt混淆)。

基本上,bcryptjs的工作与bcrypt相同,但前者是用纯js编写的,没有繁琐的依赖关系。唯一的缺点是它比bcrypt慢30%。

对我来说,它马上就起作用了。

这是npmjs网站上相关页面的link