Try installing the active LTS version instead of latest with nvm install 16 (instead of nvm install node) as per the examples.
This was tested on the docker image amazonlinux:2 and correlates to what AWS CDK supports (ref)
Update
LTS has moved on for node, however, as per @djvg's comment, note there is a limitation with amazon linux 2 on glibc, so if requiring node > 16 will need to move to newer amazon linux version, eg: https://github.com/amazonlinux/amazon-linux-2023/blob/main/Release-Notes-Amazon-Linux-2022.0.20220728.0.md
Answer from Efren on Stack OverflowTry installing the active LTS version instead of latest with nvm install 16 (instead of nvm install node) as per the examples.
This was tested on the docker image amazonlinux:2 and correlates to what AWS CDK supports (ref)
Update
LTS has moved on for node, however, as per @djvg's comment, note there is a limitation with amazon linux 2 on glibc, so if requiring node > 16 will need to move to newer amazon linux version, eg: https://github.com/amazonlinux/amazon-linux-2023/blob/main/Release-Notes-Amazon-Linux-2022.0.20220728.0.md
It seems like you are using v.18.0.0 which was the latest but not well-supported.
Try uninstalling that.
Copynvm uninstall 18.0.0
Install a version that is active.
Copynvm install 16.0.0
You should now be using v16 which should be well-supported.
Node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by node)
POSTCSS error: `GLIBC_2.27' not found (required by node)
node.js - Getting GLIBC_2.28 not found - Stack Overflow
Install error `node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)`
Finally I got solution by running the following commands.
sudo apt-get remove nodejs
nvm install 16.15.1
Node.js v16.15.1 version and npm v16.15.1 is installed. For the same, make sure nvm is installed in your machine.
You can install Node.js v17.x by nvm (Node.js version manager).
My OS version: Ubuntu 18.04.6 LTS (Bionic Beaver)
I tried three ways to install Node.js and npm on my pc:
(fail) apt-get. The version is very old
$ sudo apt-get install nodejs $ sudo apt-get install npm $ node -v v8.10.0 $ npm -v 6.1.0(fail) script from source code of Node.js, only Node.js is updated, npm is not. https://github.com/nodesource/distributions/blob/master/README.md#using-ubuntu-1
$ curl -sL https://deb.nodesource.com/setup_14.x -o /tmp/nodesource14_setup.sh $ node -v v14.20.1 $ npm -v 6.1.0(success) use nvm
https://github.com/nvm-sh/nvm#installing-and-updating
$ sudo apt-get remove nodejs $ sudo apt-get remove npm $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash $ chmod +x ~/.nvm/nvm.sh $ source ~/.bashrcnvm install 14 $ node -v v14.20.1
nvm install 16 $ node -v v16.18.0
nvm install 17 $ node -v v17.9.1 $ npm -v 8.11.0 # Failed to install 18 $ nvm install 18 $ node -v node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node) $ npm -v node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)
This error happens when you install Node on an operating system that has a version of GLIBC that is lower than Node can support. For example, Node v18 supports GLIBC v2.7 or later. When you attempt to install Node v18.x on any Linux OS that has GLIBC v2.6 or lower, you will get such errors.
To see the version of GLIBC that your operating system has, execute the ldd command on the terminal:
Copy$ ldd --version
I can suggest three options to resolve this issue:
- Either install Node from source code. This will allow you to recompile
- Or install an older version of Node that your OS can support
- Or upgrade your Linux OS to a newer version.
Reference: Install Node from source code
Observed the same error on the Linux machine of AWS.
This error will also be observed when we have installed Node JS and when we check the version. To resolve the issue we need to have greater than GLIBCv2.6. Amazon provides Linux boxes with GLIBC v2.6 and greater version than this as well. Before starting dev work use the below command to select a suitable machine
command used : ldd --version (on Amazon Linux machine) :
