CentOS上部署node报错:node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS上部署node报错:node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header相关的知识,希望对你有一定的参考价值。
问题
在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,上传到服务器,解压
我是这样才成功的,这样再不成功,我也是没法了兄弟们
以上是关于CentOS上部署node报错:node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header的主要内容,如果未能解决你的问题,请参考以下文章
[CentOS]在Linux部署项目时bcrypt_lib.node: invalid ELF header
npm install报错 npm ERR! enoent ENOENT: no such file or directory