CentOS 使用 snapd 安装 NodeJS 版本 14
很多时候官方提供的库都版本比较低。
在我们运行一些编译的时候可能需要一些比较高版本的库了。
因此我们就没有办法直接使用 yum 或者 dnf 来进行安装。
这里需要注意兼容性问题。
在使用 snapd 安装后,将会在你的系统上划分一个分区,在不同的工具或者 CI 工具访问 npm 的时候可能会出现授权的错误。
因此还是不是非常建议使用 snapd 来安装,建议使用原生方式来安装。
虽然慢点,但是还是比较稳定。
解决方案
可以考虑使用 snapd 这个经常来进行安装。
官方网站的地址为: Install node on CentOS using the Snap Store | Snapcraft
如果你希望安装 14.17 版本的 NodeJs 使用他们提供的包就没错了。
首先你需要安装 snapd 服务,如果你的机器上没有安装的话,你需要运行下面的命令进行安装。
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
如果你已经安装过了,就直接安装 snapd 就行了。
snapd 是一个后台进程,需要一定的内存使用,如果你的机器内存太小,可能会导致启动进程启动失败。
服务器上的安装过程如上图。
如果你遇到了错误:
[root@devops-norctx-com www.packloopapis.com]# sudo snap install node --classic
error: cannot communicate with server: Post "http://localhost/v2/snaps/node": dial unix /run/snapd.socket: connect: no such file or directory
这是因为 snapd 这个进程没有起来,你需要手动启动下。
启动的命令为:
systemctl restart snapd
最后再运行命令:
sudo snap install node --classic
安装 NodeJS 就 OK 了。
在完成安装后,使用命令 node --version
来查看下当前的版本即可。
确定你的机器上安装了你需要的版本。