Node.js
NPM 問題,從哪裡開始
希望這是發布的正確論壇。即將到來的堆棧溢出,但我認為這更多的是你們的專業知識。
我有一個 centos 6.10 盒子。它的 Node.js 和 npm 執行正常。我不知道他們是哪個版本的。我試圖通過執行將它們更新到 LTS
sudo npm install n -g
現在,每當我執行時,
npm
我都會收到此錯誤:node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by node) node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by node) node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by node) node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by node)
我試圖完全解除安裝 node 和 npm 並重新安裝它們,也沒有運氣。現在我沒有技巧了。有人可以幫我解決我現在應該做什麼嗎?
你的 CentOS 太舊了。
您可以通過執行檢查庫屬於哪個包
yum provides /usr/lib64/libstdc++.so.6
。在我的情況下(在 CentOS 7 上,但這並不重要)這是libstdc++-4.8.5-39.el7.x86_64
.如果您在 pkgs.com 上查找 CentOS 6的軟體包,
libstdc++
您會看到它是針對哪些 glibc 標頭檔編譯的。在這種情況下,您會看到最新版本是:
- libstdc++.so.6(GLIBCXX_3.4.13)(64bit)
您的輸出顯示較新的 npm 版本至少需要
GLIBCXX_3.4.14
.我想你可以根據你可用的庫版本自己編譯 node.js,但我寧願將 CentOS 更新到更新的版本。無論如何,它會在 2020 年 11 月結束生命。