1

我的 Node.Js 应用程序依赖于 bcrypt。它在我的本地服务器上运行良好,但是当我关闭 WebFaction 服务器的存储库时,bcrypt 似乎不想在那里安装(或编译?)。

我尝试了两个 npm install

(它在 packages.json 依赖项中列出)以及

npm install bcrypt

但这些都不起作用,我收到以下错误:

make: Entering directory 
`/home/noduslabs/webapps/infranodus/infranodus/node_modules/bcrypt/build'  
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
../src/bcrypt_node.cc: In function ‘v8::Handle<v8::Value><unnamed>::GenerateSalt(const         
v8::Arguments&)’:
../src/bcrypt_node.cc:257: error: invalid conversion from ‘void (*)(uv_work_t*)’ to ‘void     
(*)(uv_work_t*, int)’

[...]

make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1
make: Leaving directory     
`/home/noduslabs/webapps/infranodus/infranodus/node_modules/bcrypt/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2

我还尝试在运行 npm -g install node-gyp 的服务器上安装新版本的 node-gyp

但它没有用。

支持没有响应。

我请求你的帮助。

谢谢!

4

1 回答 1

1

好的,所以没有人有解决方案,我会自己发布一个:在我的情况下,最好的方案是安装另一个模块:bcrypt-nodejs

唯一的问题是它比 bcrypt 慢大约 3 倍(请参阅此处的基准),但由于我只将它用于登录和注册,所以对我来说仍然没问题。

关于我的bcrypt问题,实际上是包的问题,​​一些可能的解决方案在这里:https ://github.com/ncb000gt/node.bcrypt.js/issues/90 。

另一种解决方案是尝试在没有 npm 的情况下构建包:

无法在 Centos 服务器上安装 bcrypt node.js 模块

于 2014-03-13T09:52:32.377 回答