我的Node.Js应用程序依赖于bcrypt。它在我的本地服务器上工作正常,但当我关闭repository到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
我还尝试在运行的服务器上安装新版本的node-gyp npm -g install node-gyp
但它不起作用。
支持没有响应。
我请求你的帮助。
谢谢!
答案 0 :(得分:1)
好的,所以没有人有解决方案,我会自己发布一个:在我的情况下,最好的方案是安装另一个模块:bcrypt-nodejs。
它唯一的问题是它比bcrypt(see benchmarks here)快3倍,但由于我只用它来登录和注册,它对我来说仍然没问题。
关于我对bcrypt的问题,这实际上是包的问题,这里有一些可能的解决方案:https://github.com/ncb000gt/node.bcrypt.js/issues/90。
另一种解决方案是尝试在没有npm的情况下构建软件包: