我遵循着这个方案:
bcrypt is breaking my meteor application, how do I fix it?
但我仍然得到这个错误:
/home/kaleobox/bundle/programs/server/node_modules/fibers/future.js:245
throw(ex);
^
Error: /home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at bindings (/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
我进入/home/kaleobox/bundle/programs/server/node_modules
并执行以下操作:rm -R /home/kaleobox/bundle/programs/server/node_modules/bcrypt
然后npm install bcrypt
但上面的错误仍然存在。/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
告诉我我可能必须删除并在第二个位置重新安装bcrypt?
4条答案
按热度按时间toe950271#
您应该从以下位置重新安装bcrypt
/home/kaleobox/捆绑包/程序/服务器/npm/npm-bcrypt/节点模块
代替
/home/kaleobox/捆绑包/程序/服务器/节点模块
monwx1rj2#
我已经通过在下面的目录中重新安装bcrypt包解决了这个问题:
/my_app/programs/server/npm/npm-bcrypt/
npm install bcrypt
pgpifvop3#
正如@lingxiao-sun的回答所示,您 * 可能 * 会发现将
/home/kaleobox/bundle/programs/server/node_modules
中的bcrypt
复制到/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node-modules
中可以解决此问题。这可能是因为
<your project>/bundle/programs/server/node_modules
中的bcrypt
已在本地构建/安装到主机,而/server/npm/npm-bcrypt/node-modules/
中的bcrypt
可能来自源/构建计算机,如果这些环境不同,则可能由于每个环境所需的特定二进制文件而导致问题。nfs0ujit4#
问题是您提交了Windows体系结构中的bcrypt可执行文件,但Heroku虚拟环境是Linux。
将
node_modules
添加到您的.gitignore
,并使用git rm -r --cached node_modules
。该命令将从Git仓库中移除
node_modules
,并且在下次推送时,对node_modules
的更改将被忽略。