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

问题描述 投票:0回答:7

我正在尝试在

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
但没有运气。

node.js amazon-ec2 nvm amazon-linux
7个回答
146
投票

尝试按照示例安装

活动 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


44
投票

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

尝试卸载它。

nvm uninstall 18.0.0

安装有效的版本。

nvm install 16.0.0

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


26
投票

错误信息:

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 完成操作系统升级。


18
投票

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


0
投票

在我的情况下,这是操作系统问题。操作系统需要升级:

我当前的操作系统版本是: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


0
投票

这个链接对我有用

https://bobbyhadz.com/blog/node-glibc-not-found-required-by-node

安装nvm,然后选择node版本,步骤在链接中提到


-2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.