- ปัญหาคือ Ubuntu 18.04 ก่อนนี้ใช้ nodejs v 16.15.1
- พอ update เป็น nodejs v 20 โดย
- https://juuier.blogspot.com/2023/12/how-to-install-nodejs-20100-on-ubunut.html
- พอเราเช็ค version มัน ขึ้นว่าหา GLIBC_2.28 ไม่เจอ
$ node -v
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)
Solved
- ปัญหาคือ Ubuntu version เราไม่ support nodejs v 20
- ทางแก้คือ upgrade os ubuntu ให้สูงกว่า 18.04
- หรือ เปลี่ยน nodejs กลับไปเป็น version 16 คือเก่า ในที่นี้เราจะใช้ nvm (ตัวติดตั้งโดยเลือก เวอร์ชั่นที่เราต้องการได้เลย ) ติดตั้งและตั้งค่าไปใช้อันที่ติดตั้งใหม่
- ขั้นแรกต้องลง nvm ให้ระบบเราก่อน
$ sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
$ sudo nano $HOME/.bashrc
- เพิ่มไว้ด้านล่างสุดของไฟล์ .bashrc
check=' export NVM_DIR="$HOME/.nvm"'
if ! grep -qF "$check" ~/.bashrc; then
echo "" >>~/.bashrc
echo "# Add NVM to path" >>~/.bashrc
echo 'export NVM_DIR="$HOME/.nvm"' >>~/.bashrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >>~/.bashrc
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >>~/.bashrc
fi
- จากนั้นใช้ สลับกลับไปใช้อันเดิมโดย (เราจะได้ 16 -> 16.20.2)
$ nvm install 16$ nvm use 16
Add
- ถ้าเราต้องใช้ติดตั้ง node lts version ล่าสุดใช้คำสั่ง
$ nvm install --lts
- ติดตั้งโดยระบุเวอร์ชั่น ล่าสุดของ 16 -> 16.20.2
$ nvm install 16
- หรือติดตั้งระบุเวอร์ชั่นแบบระบุ 16.15.1 (Ubuntu 18.04 apt install nodejs จะได้เวอร์ชั่นนี้)
$ nvm install 16.15.2
- กรณีสลับ version การ node ที่เราได้ติดตั้งไว้แล้วในระบบคือ
$ nvm use 16.15.1
$ nvm use 18 (อันนี้ก็ใช้ใน Ubuntu 18.04 ไม่ได้เช่นกัน)
$ nvm use 20
- เช็ค GLIB ของ OS เราด้วยคำส่ง
$ ldd --version
Ref
- https://stackoverflow.com/questions/72921215/getting-glibc-2-28-not-found