Node.js是一个流行的JavaScript运行时环境,可以让你在服务器端运行JavaScript代码。Node.js有很多不同的版本,每个版本都有自己的特性和修复。如果你想在同一台机器上使用不同的Node.js版本,或者在不同的项目中切换Node.js版本,你可能需要一个工具来帮助你管理这些版本。这个工具就是NVM(Node Version Manager)。
NVM是一个命令行工具,可以让你安装和切换不同的Node.js版本。NVM不会影响系统自带的Node.js,而是将每个版本和对应的模块安装在你的用户目录下。这样,你就可以在不同的终端或者项目中使用不同的Node.js版本,而不用担心版本冲突或者权限问题。
本文将介绍如何在CentOS上安装和使用NVM来管理Node.js版本。
安装NVM
要在CentOS上安装NVM,你需要先确保你有curl或者wget命令。如果没有,你可以用以下命令安装:
sudo yum install curl wget git
如图所示(笔者因为提前装过,可能界面不一样):
然后,你可以用以下命令来下载并运行NVM的安装脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
又或者
curl -o- https://ghproxy.com/https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
这个命令会将NVM的代码克隆到~/.nvm
目录下,并且在你的.bashrc
文件中添加一些配置代码。
如果以上方法失败,您可以手动下载NVM安装脚本,然后运行它。在浏览器中打开以下链接,然后将其下载到您的服务器:
下载后,使用以下命令运行脚本:
bash install.sh
为了让NVM生效,你需要重新加载.bashrc
文件,或者重新打开一个终端。你可以用以下命令来重新加载.bashrc
文件:
source ~/.bashrc
或者,你也可以直接执行.bashrc
文件中添加的配置代码:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 这个命令会加载nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # 这个命令会加载nvm的自动补全功能
若以上几种方法因网络原因无法安装,可以试试下面这个方法:
克隆NVM存储库:使用Git克隆NVM存储库。执行以下命令:
git clone https://ghproxy.com/https://github.com/nvm-sh/nvm.git ~/.nvm
这将克隆NVM存储库到您的主目录下的 ~/.nvm
文件夹中。
如图所示:
设置环境变量:
为了使NVM工作,您需要添加NVM的初始化脚本到您的shell配置文件,如 ~/.bashrc
(如果您使用Bash)或 ~/.zshrc
(如果您使用Zsh)。
使用文本编辑器打开您的配置文件:
如果您使用Bash:
nano ~/.bashrc
如果您使用Zsh:
nano ~/.zshrc
在文件的末尾,添加以下行:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
保存文件并关闭文本编辑器。
应用配置更改:执行以下命令以使配置更改生效:
source ~/.bashrc # 如果您使用Bash
source ~/.zshrc # 如果您使用Zsh
现在,你可以用以下命令来检查NVM是否安装成功:
nvm --version
如果看到NVM的版本号,说明安装成功了。
使用NVM安装Node.js
有了NVM之后,你就可以方便地安装和切换不同的Node.js
版本了。要查看可用的Node.js版本列表,你可以用以下命令:
nvm ls-remote
这个命令会显示所有远程可用的Node.js版本。如果你想查看已经安装在本地的Node.js版本列表,你可以用以下命令:
nvm ls
这个命令会显示所有已经安装在本地的Node.js
版本
使用特定Node.js版本
安装完成后,您可以使用nvm use
命令来切换到所需的Node.js版本:
要安装一个指定的Node.js版本,比如14.18.1,你可以用以下命令:
nvm install 14.18.1
这个命令会下载并安装指定的Node.js版本,并且自动设置为当前使用的版本。
node版本的切换
要切换到一个已经安装的Node.js版本,比如12.22.7,你可以用以下命令:
nvm use 12.22.7
这个命令会切换到指定的Node.js版本,并且更新相关的环境变量。
查看当前使用的Node.js版本
要查看当前使用的Node.js版本,你可以用以下命令:
nvm current
这个命令会显示当前使用的Node.js版本
卸载一个已经安装的Node.js版本
要卸载一个已经安装的Node.js版本,比如10.24.1,你可以用以下命令:
nvm uninstall 10.24.1
这个命令会卸载指定的Node.js版本,并且删除相关的文件
创建NVM别名
NVM还提供了一些方便的别名,让你可以快速地切换到一些特定的Node.js版本。比如,你可以用以下命令来切换到最新的稳定版(LTS):
nvm use --lts
或者,你可以用以下命令来切换到最新的版本:
nvm use node
设置默认Node.js版本
如果您希望某个Node.js版本成为默认版本,可以使用以下命令:
你可以自己创建一些自定义的别名,比如,你可以用以下命令来创建一个叫做default
的别名,指向14.18.1版本:
nvm alias default 14.18.1
这样,每次你打开一个新的终端,NVM都会自动切换到这个别名指向的版本。
查看所有可用的别名
要查看所有可用的别名,你可以用以下命令:
nvm alias
删除别名
要删除一个已经创建的别名,你可以用以下命令:
nvm unalias default
验证Node.js安装
最后,您可以使用以下命令来验证Node.js的安装和版本:
node -v
若出现对应的node.js版本,则表示安装成功。
若出现下图情况,我的建议是:请降低node版本(。
该错误是由于您的系统缺少所需的GLIBC库版本引起的,而Node.js二进制文件需要这些库。解决此问题的方法之一是在拥有所需GLIBC库版本的CentOS系统上重新编译Node.js,但这可能比较复杂。以下是一种解决方案:
- 使用Docker:如果您的服务器上不容易满足Node.js二进制文件的GLIBC库要求,您可以考虑使用Docker容器来运行Node.js。Docker容器内部的环境可以独立于主机环境,并且可以轻松包含所需的库和依赖项。
首先,安装Docker并启动Docker服务:
bashCopy codesudo yum install docker sudo systemctl start docker
然后,使用Docker Hub上的Node.js镜像来运行Node.js容器。以下是一个示例命令,运行Node.js 14版本:
bashCopy code docker run -it node:14
这将启动一个Node.js容器,您可以在其中使用Node.js而无需担心GLIBC库的问题。
-
升级CentOS:另一种解决方法是升级您的CentOS系统以满足Node.js的GLIBC库要求。这可能涉及升级到CentOS 8.x 或更高版本。请注意,升级操作可能会影响您的系统,因此请务必备份数据和配置文件,并在进行升级之前详细了解操作的风险和步骤。
升级CentOS的具体步骤会根据您的当前系统配置和要升级到的版本而有所不同,因此建议查阅相关的CentOS升级文档以获取详细的指导。
选择适合您的情况的解决方案,并根据需要采取相应的措施来解决Node.js的GLIBC库问题。
结束
至此,您已经成功在CentOS上安装了NVM,并可以轻松地管理和切换不同的Node.js版本。这将使您能够更好地适应各种Node.js应用程序的需求。
希望这篇博客对您有所帮助!如果您有任何问题或疑虑,请随时在评论中提出。