我正在尝试在
Nodejs
计算机上安装 Amazon linux
,我正在按照此文档安装节点 https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/ setup-node-on-ec2-instance.html 但是当我执行此命令时出现以下错误 nvm install node
如何解决这个问题?任何帮助将非常感激。谢谢!
v18.0.0 is already installed.
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v18.0.0` to unset it.
[ec2-user@ip-xx-xxx-xx-xx ~]$ node -e "console.log('Running Node.js ' + process.version)"
-bash: node: command not found
我尝试运行这个
nvm use --delete-prefix v18.0.0
但没有运气。
尝试按照示例安装
活动 LTS 版本,而不是使用
nvm install 16
(而不是 nvm install node
)安装最新版本。
这已在 docker 映像 amazonlinux:2 上进行了测试,并且与 AWS CDK 支持的内容相关 (ref)
更新
LTS 已转移到节点,但是,根据 @djvg 的评论,请注意 glibc 上的 amazon linux 2 有限制,因此如果需要节点 > 16 将需要迁移到较新的 amazon linux 版本,例如: https:/ /github.com/amazonlinux/amazon-linux-2023/blob/main/Release-Notes-Amazon-Linux-2022.0.20220728.0.md
您似乎正在使用 v.18.0.0,这是最新的,但没有得到很好的支持。
尝试卸载它。
nvm uninstall 18.0.0
安装有效的版本。
nvm install 16.0.0
您现在应该使用 v16,它应该得到很好的支持。
错误信息:
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
告诉您,您没有足够新的 glibc 版本,nvm 无法安装节点 18。该错误告诉您它至少需要 glibc 2.27。
您可以通过以下方式找到当前的 glibc 版本:
ldd --version
您可以使用像 apt-get 这样的包管理器来安装较新版本的 glibc。
您可以通过包管理器找到最新可用的 glibc 版本:
apt-cache policy libc6
。
如果您的包管理器无法安装足够新版本的 glibc,则您需要使用较新版本的操作系统。在 Ubuntu 中,您可以使用 do-release-upgrade 完成操作系统升级。
Amazon Linux 2 或某些操作系统包含 glibc 2.26 或更低版本。 要使用更高的 glib 版本, 您需要考虑其他 AMI。 例如)Amazon Linux 2022。(al2022-ami)它包括 glibc 2.34
参考:https://repost.aws/questions/QUrXOioL46RcCnFGyELJWKLw/glibc-2-27-on-amazon-linux-2
在我的情况下,这是操作系统问题。操作系统需要升级:
我当前的操作系统版本是:Red Hat Enterprise Linux Server 7.9 (Maipo)
cat /etc/os-release
我在安装node-18时遇到以下问题
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)
检查ldd版本如上问题
ldd --version
升级操作系统版本:Red Hat Enterprise Linux 8.2 (Ootpa),问题已解决。
ldd 版本应高于 ldd (GNU libc) 2.27
nvm 最新版本 18.x.x 存在一些问题。
尝试以下步骤来解决问题
1.卸载你的nvm
$ nvm uninstall <nvm_version>
即。 $ nvm 卸载 18.12.2
2.安装稳定版本的nvm
$ nvm install <stable_nvm_version>
即。 $ nvm 安装 16.0.0