![在 Godaddy 共享 Linux 主机上安装 Nodejs 时出错](https://linux22.com/image/1601362/%E5%9C%A8%20Godaddy%20%E5%85%B1%E4%BA%AB%20Linux%20%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%AE%89%E8%A3%85%20Nodejs%20%E6%97%B6%E5%87%BA%E9%94%99.png)
我正在通过 PuTTy 连接到 SSH 在 Godaddy 共享 Linux 主机上安装 Node.js。出现错误。
我运行了'curl -o-https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh| bash' 命令安装 nvm。运行“nvm --version”时,我收到响应“0.34.0”,因此 NVM 安装成功。我正在运行“nvm install node”来安装 Node.js。
运行此命令后我收到以下错误:
节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.14'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.18'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 CXXABI_1.3.5'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.15'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.17'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.16'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.14'(节点所需) nvm 与 npm config“prefix”选项不兼容:当前设置为“”Runnvm use --delete-prefix v12.9.0` 来取消设置。
我期望“nvm install node”能够成功安装 Node.js 及其所有依赖项。实际结果(来自 Putty):
nvm install node 正在下载并安装 node v12.9.0... 正在下载https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-x64.tar.gz...
############################################################### 100.0%使用 sha256sum 计算校验和 校验和匹配!节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.14'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.18'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 CXXABI_1.3.5'(节点所需)节点:/usr/lib64/libstdc++.so.6:未找到版本 GLIBCXX_3.4.15'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.17'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.16'(节点所需)节点:/lib64/libc.so.6:未找到版本 GLIBC_2.14'(节点所需) nvm 与 npm config“prefix”选项不兼容:当前设置为“”Runnvm use --delete-prefix v12.9.0` 来取消设置。
参考此博客 -https://ferugi.com/blog/nodejs-on-godaddy-shared-cpanel/
请帮忙。
答案1
虽然 Cris 的回答很可能是正确的,因为它描述了根本原因,但他并没有提供与提问者的环境(GoDaddy 共享主机)兼容的解决方案。
根据这些说明来自 CodePunker 的说法,解决方案是安装一个旧版本的 node.js,该版本与你的 GoDaddy 共享主机上安装的任何版本的 libstdc++ 兼容。
- 如果在安装过程中出现错误,提示你没有所需的 GLIBC 版本,则需要安装较旧版本(可能不受支持)的 Node.js 版本
- 为此,请执行 nvm ls-remote --lts,它将显示存储库中存在的所有长期支持 Node.js 版本。通过发出 nvm install vX.XX 然后 nvm use vX.XX 安装旧版本
您需要安装的 node.js 的具体版本取决于共享主机的过时程度。我使用 v10.13.0 成功测试了这一点,但我只是跳转到当前分支中最旧的版本,而没有测试任何较新的版本。
您还可以致电 GoDaddy 支持并请求他们更新您的主机或将您的网站移动到具有更多最新库的其他共享主机。
答案2
更新您的基础系统或从源代码编译(这也可能需要更新您的基础系统。)没有 GLIBCXX_3.4.15 符号意味着您的 libstdc++ 来自 2009 或更早版本。
答案3
Thomas 的回答对我有用,我使用命令安装了 v10.13.0
nvm install v10.13.0
您需要有 nvm 才能运行该命令,通过运行来安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
所有这些命令都是在 ssh 中完成的,无需 root 权限,因此它适用于共享主机。