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 部署node环境 pm2 安装

centos7上Rabbit集群主从部署

[CentOS]在Linux部署项目时bcrypt_lib.node: invalid ELF header

如何在centos下部署Node环境

npm install报错 npm ERR! enoent ENOENT: no such file or directory

CentOS 7.2 安装部署 Ceph 及添加 PG