8

如何在CentOS 8安装Node.js和npm

 1 year ago
source link: https://www.myfreax.com/how-to-install-node-js-on-centos-8/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

如何在CentOS 8安装Node.js和npm

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

Updated At 19 Oct 2022 6 min read
By myfreax
如何在CentOS 8安装Node.js和npm

如何在CentOS 8安装Node.js和npm

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

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

我们将探讨在CentOS 8安装Node.js和npm的两种不同方式。CentOS 8的软件仓库包含Node.JS。版本是Node.JS 10。

如果你需要最新版本,你只能通过以下两种方式安装Node.JS。

第一种是从NodeSource安装Node.JS。如果你需要使用yum命令管理Node.JS的版本与更新,请使用此仓库安装Node.JS。

当前NodeSource支持Node.js v18.xv16.xv14.xv12.x

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

如果您是Node.JS开发者,那么这是安装Node.js的首选方式。选择适合您的环境的安装方法。如果不确定要安装哪个Node.js版本,请查阅要部署的应用程序的文档。

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

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

NodeSource 安装Node.js

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

启用NodeSource存储库需要你当前登录的用户具有sudo权限或者以root用户登录。如果当前登录的用户没有sudo权限或者root权限。

CentOS 8将提示你myfreax is not in the sudoers file.  This incident will be reported将提示你用户不在sudoers文件中。你需要以root登录。

以root用户登录到操作系统通常是不建议的方式,我们建议你为当前的普通用户添加sudo权限。你可参考我们教程如何在CentOS创建sudo用户

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

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

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

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

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

一旦启用NodeSource仓库,请运行命令sudo yum install -y nodejs安装Node.js和npm。

Node.JS软件包同时包含nodenpm二进制文件。可以运行命令node --versionnpm --version打印其版本来验证Node.js和npm是否已成功安装。

如果你使用的yarn不是npm,可以运行命令sudo corepack enable yarn安装yarn。然后运行命令yarn -v打印yarn版本号。

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权限或者不使用root登录都可安装。因为此安装Node.JS的方式并不是全局的安装。

使用NVM安装Node.JS仅在你安装的当前用户可用,如果切换到其它用户运行Node,CentOS提示node command not found也就是没有找到Node.JS。

如果你需要使用最新版本的nvm版本管理器请访问nvm GitHub仓库页面并复制安装脚本的curl命令

然后ctrl+alt+t打开终端粘帖并运行复制的脚本,下载并安装nvm,以下命令将安装nvm的v0.39.1版本。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

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

=> Close and reopen your terminal to start using nvm or run the following to use it now:

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命令添加到当前会话的PATH环境变量,运行命令export PATH=$PATH:$HOME/.nvm/nvm.sh

当nvm脚本添加到您的PATH中环境变量后,请运行命令nvm --version验证nvm是否已正确安装,在我们的教程中nvm的版本是v0.39.1。

当安装完成后,你可使用nvm list-remote获取可以用nvm安装的Node.js版本列表,命令nvm install node将会安装Node.js的最新版本。

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

每当一个版本的Node.JS被安装后,nvm将会切换到刚安装的版本,你通过命令node --version打印Node.js版本进行安装验证。

nvm install --lts将会安装Node.JS LTS版本,并且是最后发行的LTS版本。nvm ls命令列出已安装的Node.js版本。

nvm list-remote
nvm install node #latest
nvm install --lts #LTS

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

nvm ls

带有右箭头的条目是当前Shell会话中使用的Node.js版本,默认版本是打开新的shell会话时将激活的版本。

如果要更改当前激活的版本,请使用nvm use命令后面跟版本号,例如命令nvm use 16.16.0将会切换到Node.JS的16.16.0 版本。

更改默认的Node.js版本,请使用nvm alias default命令后面跟版本号,例如命令nvm nvm alias default 12.16.3将会切换到Node.JS的12.16.3 版本,并设置为默认。

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK