问题
在centos上部署node项目时报错:bcrypt_lib.node: invalid ELF header
原因
报错原因是每次 npm 安装 bcrypt 包后,都会对 bcrypt 进行编译,然而不同环境下编译的结果并不通用。在 Windows 或 macOS 环境下编译后,项目中的 node_modules 直接上传到「函数计算」的 linux 环境,就不适用了。
解决
以下方法按着顺序试一下,直到你能运行了
手动装一下bcrypt
在centos上运行
npm install bcrypt 或者 cnpm install bcrypt
重装一下试试
有人行,我试了还不行
卸载再装一下bcrypt
卸载他 再 装一遍
npm un bcrypt
再运行
npm install bcrypt 或者 cnpm install bcrypt
有人行,我试了还不行
删除包,用cnpm
rm -rf node_modules/ cnpm install
有人行,我试了还不行
打包Windows的node_modules
实在没有办法了
打包Windows的node_modules成zip,上传到服务器,解压
我是这样才成功的,这样再不成功,我也是没法了兄弟们