Node.js是基于Chrome的V8引擎构建的跨平台JavaScript运行时环境,旨在在服务器端执行JavaScript代码。

它通常用于构建后端应用程序,但作为全栈和前端流行解决方案。NPM是Node.JS默认的包管理器,也是世界上最大的软件库。

本教程说明如何在CentOS 8安装Node.JS和NPM的两种不同方式。CentOS 8的软件仓库包含Node.JS,版本是10。

第一种是从NodeSource安装Node.JS。如果你需要使用yum命令管理Node.JS的版本与更新,请使用此仓库安装Node.JS。当前NodeSource支持Node.js v19.xv18.xv16.xv12.x

第二种方式是使用nvm Node版本管理器安装Node.JS。nvm允许您在同一台计算机上安装多个Node.JS版本。

如果您是Node.JS开发者,那么使用nvm安装Node.js的首选方式。请选择适合您的环境的安装方法。

默认情况下在CentOS 8安装Node.JS,不会安装构建编译C/C++源码的构建工具,例如GCC/G++和一些系统的标准库头文件等。

我们建议你安装C/C++开发工具在你CentOS 8系统,如你不知道如何安装C/C++开发工具,参考我们的教程如何在CentOS 8安装GCC开发工具

如何在CentOS 8安装GCC开发者工具 | myfreax
GNU编译器是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合

NodeSource 安装Node.JS

NodeSource是一家致力于提供企业级Node.JS支持的公司。它维护一个包含多个Node.JS版本仓库。

首先开启NodeSource仓库,然后yum命令安装Node.JS。在撰写本文时,LTS版本是18.x。

在编写本教程时由于NodeSource还没支持在CentOS 8安装Node.JS 18。我们将安装Node.JS版本16.x。运行curl命令下载并运行NodeSource安装脚本。

如果您需要另一个Node.js版本, 比如14.x,将setup_16.x更改为setup_14.x

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

该脚本会将NodeSource签名密钥添加到您的系统,创建yum仓库文件,安装所有必需的软件包,并刷新yum缓存。

当启用NodeSource仓库后,请运行命令sudo yum install -y nodejs安装Node.JS和NPM。

当安装完成后请运行命令node --version打印Node.JS版本验证Node.JS是否安装成功。

然后运行命令corepack enable npm安装NPM,如果你需要使用yarn请运行命令corepack enable yarn

要查看npm可以的版本可以运行命令npm --version。yarn的版本命令是yarn --version

sudo yum install -y nodejs
sudo corepack enable yarn
node --version
npm --version
yarn -v
v14.2.0
6.14.4

NVM 安装Node.JS和NPM

NVM全称Node.js版本管理器,它是一个bash脚本,可让您基于用户管理多个Node.JS版本。借助NVM,您可以安装,卸载,测试任何Node.js版本。

请勿使用sudo权限安装nvm,因为它将为root用户安装nvm。该脚本会将nvm项目的仓库从Github克隆到~/.nvm目录。

当从GitHub仓库克隆到家目录后,nvm将会提示您关闭然后重新打开终端。或者将nvm命令添加到当前会话的PATH环境变量

现在我们已经将这些过程整合一个命令中,你可直接运行以下使用HereDoccat命令整合的脚本一键安装NVM。

cat <<"EOF" | bash                              
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export PATH=$PATH:$HOME/.nvm/nvm.sh
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
nvm --help
EOF

当安装完成后,可以运行命令nvm list-remote获取可通过nvm安装的Node.JS版本列表。

命令nvm install --lts将会安装Node.JS LTS版本。nvm install node将会安装最新Node.JS的版本。

当完成安装Node.JS后,请运行命令corepack enable npm安装npm,命令corepack enable yarn将会安装yarn

每当一个版本Node.JS被安装后,nvm将会切换到刚安装的版本,可以运行命令node --version查看正在使用的Node.JS版本。

除了Node.JS和NPM之外你可能还需要安装C/C++开发工具,构建带C/C++源码的NPM包。

如何在CentOS 8安装GCC开发者工具 | myfreax
GNU编译器是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合
nvm list-remote
nvm install node #latest
nvm install --lts #LTS

node --version
sudo corepack enable npm
sudo corepack enable yarn
npm --version
yarn --version

nvm ls

结论

我们向您展示了两种在CentOS 8安装Node.js和npm的方法。 您选择的方法取决于您的要求和偏好。 尽管从CentOS或NodeSource存储库安装打包版本更加容易。

但是nvm方法为您提供了更大的灵活性,可以基于用户添加和删除不同的Node.js版本。如有任何疑问,请随时发表评论。