nodejs报错处理
错误内容
npm -v
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
从错误消息来看,Node.js 12 的二进制文件需要更新版本的 glibc 和 libstdc++。CentOS 7 自带的库版本对于这个 Node.js 版本来说是不够的。为了解决这个问题,你有以下几种选择:
-
使用其他 Node.js 发行版:这可能是最简单的解决方案。例如,使用 Node.js 的官方二进制分发版或使用 NVM (Node Version Manager)。
-
使用 NVM (Node Version Manager):
NVM 允许你在同一台机器上安装和使用多个 Node.js 版本。
a. 首先,你需要删除当前的 Node.js 安装:
sudo yum remove nodejs
b. 安装 NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
关闭终端并重新打开,或执行以下命令来激活 nvm:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
c. 使用 NVM 安装 Node.js 12:
nvm install 12
d. 验证安装:
node -v npm -v
-
手动升级 glibc 和 libstdc++:这是一个比较复杂且可能会破坏系统稳定性的方法。除非你知道自己在做什么,否则不建议采取这种方法。
-
考虑使用更高版本的 CentOS:例如,CentOS 8 可能会包含你需要的库版本。但这可能涉及重新配置或迁移整个系统。
建议你首先尝试使用 NVM 安装 Node.js,因为这是一个相对安全和简单的方法。
发表评论