我不确定这应该是stackoverflow还是serverfault问题。
我安装了Meteor的帐户密码模块,它在本地运行,但在部署到服务器时损坏了我的应用程序。这是独家新闻:
我在OSX上运行最新的Meteor 1.0.5(操作系统刚刚完全更新) 使用--architecture os.linux.x86_64构建 部署到Ubuntu 14.04.2 LTS x86_64(刚刚更新) 运行nodejs v0.12.1(刚建成) 使用nginx v1.4.0提供应用程序
仍然得到:
/home/secrethistory/bundle/programs/server/node_modules/fibers/future.js:245
throw(ex);
^
Error: Module did not self-register.
at Error (native)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at bindings (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
接下来要查看的任何提示或地点?
答案 0 :(得分:26)
bcrypt模块依赖于平台(作为光纤),因此您需要在解压缩服务器中的软件包后删除软件包:
rm -R path/to/bcrypt
然后再次安装:
npm install bcrypt
答案 1 :(得分:1)
从Meteor 1.0.5开始(这也适用于即将发布的1.1),我们尚未完成使用Node 0.12的完整测试,验证和QA流程。我建议坚持使用Node 0.10直到那一点。虽然它很可能会起作用,但有可能需要进行一些核心更改,而且正如您所见,针对0.10 ABI构建的二进制包不能使用0.12。< / p>
答案 2 :(得分:0)
从源头重建bycrypt解决了我的问题
npm rebuild bcrypt --build-from-source