执行NPM报:node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14′ not found (required by node)
> npm -V
1 2 3 4 |
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) |
在低版本的系统中安装高版本的nodejs,执行npm时报此错误,一般是版本不匹配或支持不够导致的
> strings /usr/lib64/libstdc++.so.6 | grep GLIBC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH |
从其它高版本的系统中复制高于报错的版本就可以了,比如这里报的最高的3.4.18(系统是CentOS6),我从CentOS7的系统中复制一个3.4.19的过来
找到一个.19的版本
> find / -name “libstdc++.so*”
1 2 |
/usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.0.19 |
复制到这台系统中,执行
1 2 3 4 5 |
# 这只是个软链接,执行前可以ll看一下 rm -rf /usr/lib64/libstdc++.so.6 mv /tmp/libstdc++.so.6.0.19 /usr/lib64/ ln -s /usr/lib64/libstdc++.so.6.0.19 /usr/lib64/libstdc++.so.6 |
再次执行strings查看支持情况
> strings /usr/lib64/libstdc++.so.6 | grep GLIBC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBC_2.3 GLIBC_2.2.5 GLIBC_2.14 GLIBC_2.4 GLIBC_2.3.2 GLIBCXX_DEBUG_MESSAGE_LENGTH |
如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!