如何在Linux上安装nodejs

时间:2020-03-21 11:45:40  来源:igfitidea点击:

NodeJS是一个开源,跨平台和轻量级JavaScript运行时环境,可用于构建可扩展的网络应用程序。
它是在Chrome的V8 JavaScript引擎上构建的快速高效的服务器端软件。
最初,JavaScript主要用于客户端脚本。
但是,NodeJS使JavaScript能够用于服务器端脚本,并运行脚本服务器端以生成动态网页。
另一个值得注意的是nodejs具有名为npm的命令行实用程序,要安装的包管理器,管理nodejs库和应用程序。
NodeJS包生态系统是世界上最大的开源库生态系统。
在本教程中,我们将看到如何在流行的Linux操作系统上安装Node.js,包括Arch Linux,Debian,Ubuntu,Rhel,CentOS,Fedora等。

在Linux上安装nodejs

安装nodejs有很多方法。
在这里我列出了3种方法。

第一种方法是建议安装nodejs。
特别是,第一种方法是在全球安装包时避免许可问题的最佳方法

第二种方法适用于那些想要使用稳定的NodeJS版本的人。

并且,第三种和最终方法描述了如何从源中安装NodeJS。
这适用于那些想要掌握最新的NodeJS版本的人。

1.使用NVM在Linux上安装NodeJS(推荐方法)

这是安装NodeJS的推荐方法。
此外,这是避免权限问题的最佳方法。
NVM(Node版本管理器)是用于管理多个Node.js版本的Bash脚本。
它允许我们安装,卸载node.js,并从一个版本切换到另一个版本。
好处是我们可以使用NVM安装到任何可用的Node.js版本。

要安装NVM,请使用最新的安装脚本。

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

或者,

$wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

上面的命令将将NVM存储库克隆到~/.nvm并将源行添加到个人资料(~/.bash_profile,~/.zshrc,~/.profile,或者~/.bashrc)。

示例输出:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13527 100 13527 0 0 12478 0 0:00:01 0:00:01 --:--:-- 12478
=> Downloading nvm from git to '/home/sk/.nvm'
=> Cloning into '/home/sk/.nvm'...
remote: Enumerating objects: 316, done.
remote: Counting objects: 100% (316/316), done.
remote: Compressing objects: 100% (268/268), done.
remote: Total 316 (delta 36), reused 134 (delta 23), pack-reused 0
Receiving objects: 100% (316/316), 169.68 KiB | 311.00 KiB/s, done.
Resolving deltas: 100% (36/36), done.
=> Compressing and cleaning up git repository
=> Appending nvm source string to /home/sk/.bashrc
=> Appending bash_completion source string to /home/sk/.bashrc
=> 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之前重新启动终端一次。
如果我们在SSH,请退出当前会话并再次登录。

要验证是否已安装NVM,请运行:

$command -v nvm

示例输出:

nvm

如果安装成功,它应该输出'nvm'。

现在,我们可以安装nodejs和npm。

首先,运行以下命令以查看可用NodeJS版本的列表:

$nvm ls-remote

示例输出:

[...]
v14.10.0
v14.10.1
v14.11.0
v14.12.0
v14.13.0
v14.13.1
v14.14.0
v15.0.0
v15.0.1

要将/更新到最新的NodeJS版本,刚刚运行:

$nvm install node

示例输出:

Downloading and installing node v15.0.1...
Downloading https://nodejs.org/dist/v15.0.1/node-v15.0.1-linux-x64.tar.xz...
########################### 100.0%
Computing checksum with sha256sum
Checksums matched!
npm notice 
npm notice New patch version of npm available! 7.0.3 -> 7.0.5
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.0.5
npm notice Run npm install -g Hyman@theitroad to update!
npm notice 
Now using node v15.0.1 (npm v7.0.3)
Creating default alias: default -> node (-> v15.0.1)

首先写作/更新本教程,最新版本为15.0.1.

1.1. 安装特定节点版本

我们还可以安装我们选择的任何特定版本,例如V9.3.0,如下所示。

$nvm install v9.3.0

示例输出:

Downloading and installing node v9.3.0...
Downloading https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz...
###################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v9.3.0 (npm v5.6.0)
Creating default alias: default -> v9.3.0

同样,我们可以安装所需的任意数量的版本。

要查看已安装的nodejs版本列表,请运行:

$nvm list

示例输出:

-> v15.0.1
default -> node (-> v15.0.1)
node -> stable (-> v15.0.1) (default)
stable -> 15.0 (-> v15.0.1) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.22.1 (-> N/A)
lts/erbium -> v12.19.0 (-> N/A)

上面输出中的箭头标记显示默认节点版本。
正如我们在上面的输出中看到的,我安装了15.0.1.

1.2. 检查已安装的节点版本

要查看当前安装和默认的NodeJS版本,请运行:

$node --version

或者,

$node -v

示例输出:

v15.0.1

检查NPM版本:

$npm -v

示例输出:

7.0.3

1.3. 在不同的节点版本之间切换

如果我们安装了多个版本,则可以在不同的NodeJS版本之间切换如下。

$nvm use node

或者我们可以运行它更具体:

$nvm run node v9.3.0

1.4. 设置默认节点版本

要将特定的nodejs版本设置为默认值,请运行:

$nvm alias default v9.3.0

示例输出将是:

default -> v9.3.0

1.5. 删除节点

在删除节点之前,首先要确保我们要删除的版本是否是当前的活动版本:

$nvm current

如果它不是当前活动的版本,只需使用命令删除它:

$nvm uninstall <node_version>

例子:

$nvm uninstall v9.3.0

如果我们尝试使用命令删除当前活动的版本:

$nvm uninstall node

我们将看到如下所示的错误:

nvm: Cannot uninstall currently-active node version, v15.0.1 (inferred from node).

我们必须使用命令取消激活NVM:

$nvm deactivate

然后尝试卸载节点:

$nvm uninstall node

示例输出:

Uninstalled node v15.0.1

2.使用分发的包管理器(稳定但过时的版本)在Linux上安装NodeJS

NodeJS可在大多数Linux发行版的默认存储库中提供。
它可能不是最新版本,但稳定。
如果我们想要在Linux上具有稳定的Node.js,请更好地使用分发的包管理器安装它,如下所示。

在Arch Linux及其等衍生品(如Antergos),Manajaro Linux,运行以下命令以安装它:

$sudo pacman -S nodejs npm

在Debian,Ubuntu,Linux Mint:

$sudo apt-get install nodejs npm

在RHEL,CentOS中,我们需要先启用涡旋存储库。

$sudo yum install epel-release

而且,然后使用命令安装nodejs:

$sudo yum install nodejs npm

关于Fedora:

$sudo dnf install nodejs npm

注意:由于默认存储库中的包已过时,因此尝试使用NPM安装任何NodeJS模块时,我们将获得以下错误。

/usr/bin/env: ‘node’: No such file or directory

要解决此错误,我们需要创建符号链接,如下所示。

$sudo ln -s /usr/bin/nodejs /usr/bin/node

3.从nodesource上安装nodejs上的linux

就像我已经说过的那样,NodeJS可以在默认的存储库中使用,但它可能有点过时。
要安装最新版本,请从nodesource安装最新版本。

添加最新的NodeJS存储库,如下所示,具体取决于我们使用的Linux发行版。

关于Ubuntu和衍生品:

添加nodejs 15.x存储库:

$curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash

nodejs 14.x存储库:

$curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash 

nodejs 12.x:

$curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash 

nodejs 10.x:

$curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash 

对于nodejs 8.x:

$curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash 

添加存储库后,使用命令安装node.js:

$sudo apt-get install nodejs npm

在Rhel,Centos:

nodejs 15.x:

$curl -sL https://rpm.nodesource.com/setup_15.x | sudo bash 

nodejs 14.x:

$curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash 

nodejs 12.x.

$curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash 

nodejs 10.x.

$curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash 

然后使用命令安装nodejs:

$sudo yum install nodejs npm

对于Fedora,请按照上面的相同说明进行操作。

安装构建工具(可选)

要从NPM存储库中编译和安装本机添加剂,我们可能还需要安装构建工具。

要在Debian中安装构建工具,请运行以下命令:

$sudo apt-get install -y build-essential

基于RHEL的系统:

$sudo yum groupinstall 'Development Tools'

关于Fedora:

$sudo dnf groupinstall 'Development Tools'