在 Amazon EC2 实例上安装 Node 时未找到 GLIBC_2.27

Bra*_*Maf 132 amazon-ec2 node.js nvm amazon-linux

我正在尝试NodejsAmazon linux计算机上安装,我正在按照此文档安装节点https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-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
Run Code Online (Sandbox Code Playgroud)

我尝试运行这个nvm use --delete-prefix v18.0.0但没有运气。

Efr*_*ren 154

尝试按照示例安装活动 LTS 版本而不是最新版本nvm install 16(而不是) 。nvm install node

这是在 docker 镜像amazonlinux:2上进行测试的,并且与 AWS CDK 支持的内容相关(参考

更新

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

  • 对于那些想要安装节点 18 的人来说这并不能解决问题 (61认同)
  • 正如[其他地方](/sf/answers/5200870391/)所述,该问题是由于[Amazon Linux 2 仅支持 glibc 2.26](https://aws.amazon.com/amazon-linux -2/lts-candidate-2-release-notes/)。对于较新的版本,您可能需要迁移到 [Amazon LInux 2022](https://aws.amazon.com/linux/amazon-linux-2022)。 (12认同)
  • Node v18.12.0 是发表此评论时最新的活动版本,在 CentOS 上也存在此错误。 (11认同)
  • 我从 AWS 文档中获取了用于安装 LTS 版本的命令:nvm install --lts (4认同)
  • @Bilow,问题是针对 AWS 的,因此您可能需要等待 18,请检查参考文档链接:“我们推荐一个处于主动长期支持的版本,在撰写本文时,这是最新的 16.x 版本” (3认同)

小智 49

您似乎使用的是最新的 v.18.0.0,但没有得到很好的支持。

尝试卸载它。

nvm uninstall 18.0.0
Run Code Online (Sandbox Code Playgroud)

安装有效的版本。

nvm install 16.0.0
Run Code Online (Sandbox Code Playgroud)

您现在应该使用 v16,它应该得到很好的支持。

  • 对于那些想要安装 Node v18 的人来说,这并不能解决问题 (9认同)

小智 27

错误信息:

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)
Run Code Online (Sandbox Code Playgroud)

告诉您没有足够新的glibc版本,nvm 无法安装节点 18。该错误告诉您它至少需要 glibc 2.27。

您可以通过以下方式找到当前的 glibc 版本:ldd --version

您可以使用apt-get等包管理器安装较新版本的 glibc 。

您可以通过包管理器找到最新可用的 glibc 版本apt-cache policy libc6

如果您的包管理器无法安装足够新版本的 glibc,则您需要使用较新版本的操作系统。在 Ubuntu 中,您可以使用do-release-upgrade完成操作系统升级。


小智 22

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

  • 有关 [Amazon Linux 2022](https://aws.amazon.com/linux/amazon-linux-2022/) 的更多信息 (2认同)