bcrypt 破坏了我的 meteor 应用程序,我该如何修复它?
bcrypt is breaking my meteor application, how do I fix it?
我不确定这应该是 Whosebug 还是 serverfault 问题。
我安装了 Meteor 的帐户密码模块,它在本地工作,但在部署到服务器时破坏了我的应用程序。这是独家新闻:
我是 运行 OSX 上本地最新的 Meteor 1.0.5(OS 刚刚完全更新)
使用 --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)
有什么提示或接下来要看的地方吗?
bcrypt 模块依赖于平台(作为纤程),因此您需要在服务器中解压包后删除包:
rm -R path/to/bcrypt
然后重新安装:
npm install bcrypt
从 Meteor 1.0.5 开始(这也适用于即将发布的 1.1),我们还没有对 Node 0.12 进行完整的测试、验证和 QA 过程。我建议在那之前坚持使用 Node 0.10。虽然它很可能大部分都有效,但也可能需要进行一些核心更改,而且如您所见,针对 0.10 ABI 构建的二进制包不适用于 0.12。
从源代码重建 bcrypt 解决了我的问题
npm rebuild bcrypt --build-from-source
我不确定这应该是 Whosebug 还是 serverfault 问题。
我安装了 Meteor 的帐户密码模块,它在本地工作,但在部署到服务器时破坏了我的应用程序。这是独家新闻:
我是 运行 OSX 上本地最新的 Meteor 1.0.5(OS 刚刚完全更新) 使用 --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)
有什么提示或接下来要看的地方吗?
bcrypt 模块依赖于平台(作为纤程),因此您需要在服务器中解压包后删除包:
rm -R path/to/bcrypt
然后重新安装:
npm install bcrypt
从 Meteor 1.0.5 开始(这也适用于即将发布的 1.1),我们还没有对 Node 0.12 进行完整的测试、验证和 QA 过程。我建议在那之前坚持使用 Node 0.10。虽然它很可能大部分都有效,但也可能需要进行一些核心更改,而且如您所见,针对 0.10 ABI 构建的二进制包不适用于 0.12。
从源代码重建 bcrypt 解决了我的问题
npm rebuild bcrypt --build-from-source