![在 Centos 7 上安装 npm](https://linux22.com/image/221388/%E5%9C%A8%20Centos%207%20%E4%B8%8A%E5%AE%89%E8%A3%85%20npm.png)
我可以说我经历过与此相关的所有 Google 结果,但没有人工作。 GNU libc 版本非常旧:
ldd (GNU libc) 2.17
.
尝试版本高达nodesource 8.x
由于旧的 GNU libc,所有安装都会失败:
Error: Package: 2:nodejs-19.9.0-1nodesource.x86_64 (nodesource)
Requires: libm.so.6(GLIBC_2.27)(64bit)
Error: Package: 2:nodejs-19.9.0-1nodesource.x86_64 (nodesource)
Requires: libc.so.6(GLIBC_2.28)(64bit)
我能做些什么?当我尝试从源头构建节点时,它会有帮助吗gcc-c++
?阅读要求后,我怀疑这是否可行,因为 Centos 7 还有一个非常旧的 gcc 版本,不再受支持,还是我错了?
有什么提示吗?
答案1
我成功了:
- 从 Github 克隆它 - V19.9.0
- 安装 C++ 11
- 设置适当的
export
变量configure
- 编译并安装它。
- 这是现在已安装的版本:
root@server:/usr/local/src/node => npm version { npm: '9.6.3', node: '19.9.0', acorn: '8.8.2', ada: '1.0.4', ares: '1.19.0', brotli: '1.0.9', cldr: '42.0', icu: '72.1', llhttp: '8.1.0', modules: '111', napi: '8', nghttp2: '1.52.0', nghttp3: '0.7.0', ngtcp2: '0.8.1', openssl: '3.0.8+quic', simdutf: '3.2.3', tz: '2023c', undici: '5.21.0', unicode: '15.0', uv: '1.44.2', uvwasi: '0.0.16', v8: '10.8.168.25-node.16', zlib: '1.2.13' } root@server:~ => cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) root@server:~ => ldd --version ldd (GNU libc) 2.17 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.