Node.js

NPM 問題,從哪裡開始

  • April 30, 2020

希望這是發布的正確論壇。即將到來的堆棧溢出,但我認為這更多的是你們的專業知識。

我有一個 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 月結束生命

引用自:https://serverfault.com/questions/1014938