我透過 PuTTy 連接到 SSH,在 Godaddy 共享 Linux 主機上安裝 Node.js。出現錯誤。
我跑了“curl -o-”https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh| bash' 指令來安裝 nvm。當我在執行“nvm --version”時收到回應“0.34.0”時,NVM 已成功安裝。我正在運行“nvm install node”來安裝 Node.js。
運行此命令後,我收到以下錯誤:
節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.14'(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.18'(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本CXXABI_1.3.5(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.15(節點需要)節點: /lib64/libc.so.6:找不到版本GLIBC_2.17'(節點需要)節點:/lib64/libc.so.6:找不到版本GLIBC_2.16'(節點需要)節點:/lib64/libc 。
我期待“nvm install node”成功安裝 Node.js 及其所有依賴項。實際結果(來自 Putty):
nvm install node 正在下載並安裝 Node v12.9.0... 正在下載https://nodejs.org/dist/v12.9.0/node-v12.9.0-linux-x64.tar.gz…
########################################################### ## ########## 100.0%使用 sha256sum 計算校驗和 校驗和匹配!節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.14'(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.18'(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本CXXABI_1.3.5(節點需要)節點:/usr/lib64/libstdc++.so.6:找不到版本GLIBCXX_3.4.15(節點需要)節點: /lib64/libc.so.6:找不到版本GLIBC_2.17'(節點需要)節點:/lib64/libc.so.6:找不到版本GLIBC_2.16'(節點需要)節點:/lib64/libc 。
參考這篇部落格—https://ferugi.com/blog/nodejs-on-godaddy-shared-cpanel/
請幫忙。
答案1
雖然 Cris 的答案很可能是正確的,因為它描述了根本原因,但他沒有提供與提問者的環境(GoDaddy 共享託管)相容的解決方案。
根據這些說明來自 CodePunker 的解決方案是安裝舊版的 node.js,該版本與 GoDaddy 共用主機上安裝的任何版本的 libstdc++ 相容。
- 如果在安裝過程中出現錯誤,提示您沒有所需的 GLIBC 版本,那麼您需要安裝舊版(可能不受支援)的 Node.js
- 為此,請執行 nvm ls-remote --lts ,這將顯示儲存庫中存在的所有長期支援 Node.js 版本。透過發出 nvm install vX.XX 安裝舊版本,然後發出 nvm use vX.XX
您需要安裝的 Node.js 的具體版本取決於您的共享主機的過時程度。我使用 v10.13.0 成功測試了這一點,但我只是跳到當前分支中最舊的版本,並沒有測試任何較新的版本。
您也可以致電 GoDaddy 支援並請他們更新您的主機或將您的網站移至具有更多最新庫的其他共享主機。
答案2
更新您的基礎系統或從原始程式碼進行編譯(這可能還需要更新您的基礎系統。)沒有 GLIBCXX_3.4.15 符號意味著您的 libstdc++ 來自 2009 年或更早版本。
答案3
湯瑪斯的回答對我有用,我使用指令安裝了 v10.13.0
nvm install v10.13.0
你需要有nvm來運行命令,透過運行安裝
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
所有這些命令都是在 ssh 中完成的,無需 root 存取權限,因此它將適用於共享主機。