介绍
Node.js是用于服务器侧编程的JavaScript运行时间,它允许开发人员使用JavaScript创建可扩展的后端功能,这是许多人在基于浏览器的Web开发中已经熟悉的语言。
在本指南中,我们将向您展示三个不同的方法来将 Node.js 安装在 Ubuntu 16.04 服务器上:
使用apt
安装nodejs
包从Ubuntu的默认软件存储库
*使用apt
与替代的PPA软件存储库安装特定版本的nodejs
包
*安装nvm
,Node版本管理器,并使用它来安装和管理多个版本的Node.js
对于许多用户来说,使用apt
和默认的 Repo 就足够了. 如果您需要特定的新版本(或旧版本)的 Node,您应该使用 PPA 存储库. 如果您正在积极开发 Node 应用程序,并且需要经常切换node
版本,请选择nvm
方法。
前提条件
本指南假定您正在使用Ubuntu 16.04. 在您开始之前,您应该有一个非root 用户帐户,在您的系统上设置了sudo
特权。
选项 1 — 从默认存储库中安装 Node.js 与 Apt
<$>[warning] 警告: Ubuntu 16.04 附加的 Node.js 版本 4.2.6 现在不受支持和维护。你不应该使用此版本,并且应该参考本教程中的其他部分之一来安装更新的 Node。
要获取此版本,您可以使用apt-get
包管理器。 首先通过键入更新本地包索引:
1sudo apt-get update
然后安装 Node.js:
1sudo apt-get install nodejs
检查安装是否成功,请查询其版本号的节点
:
1nodejs -v
1[secondary_label Output]
2v4.2.6
如果存储库中的包适合您的需求,这就是您需要做的,以便与 Node.js 进行设置。在大多数情况下,您还需要安装 Node.js 包管理器的 npm
。
1sudo apt-get install npm
这将允许您安装与 Node.js 一起使用的模块和包。
在此时,您已经成功安装了 Node.js 和 npm
使用apt-get
和默认的 Ubuntu 软件存储库,下一节将展示如何使用替代的存储库来安装不同版本的 Node.js。
选项 2 — 使用 NodeSource PPA 与 Apt 安装 Node.js
要安装不同的 Node.js 版本,您可以使用由 NodeSource 维护的 PPA (个人包存档案) 这些 PPA 具有比官方 Ubuntu 存储库更多的 Node.js 版本。
首先,我们将安装 PPA 以获取其包的访问权限. 从您的主目录中,使用‘curl’来获取您喜爱的版本的安装脚本,确保您用您喜爱的版本字符串(如果不同)取代‘16.x’。
1cd ~
2curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
请参阅 NodeSource 文档以获取有关可用的版本的更多信息。
检查下载的脚本的内容使用nano
(或您喜爱的文本编辑器):
1nano nodesource_setup.sh
当你确定脚本是安全的运行时,离开你的编辑器,然后用sudo
运行脚本:
1sudo bash nodesource_setup.sh
PPA 将被添加到您的配置中,您的本地包缓存将自动更新。
1sudo apt-get install nodejs
通过运行节点
与-v
版本旗帜来验证您是否安装了新版本:
1node -v
1[secondary_label Output]
2v16.10.0
NodeSource的nodejs
包包含node
二进制和npm
,因此您不需要单独安装npm
。
在此时,您已经成功安装了 Node.js 和 npm
使用apt
和 NodeSource PPA. 下一节将展示如何使用 Node Version Manager 来安装和管理多个版本的 Node.js。
选项 3 — 使用 Node 版本管理器安装 Node
安装 Node.js 的另一个特别灵活的方法是使用 nvm,Node 版本管理器. 该软件允许您同时安装和维护许多不同的独立版本的 Node.js 及其相关的 Node 包。
要在您的 Ubuntu 16.04 机器上安装 NVM,请访问 该项目的 GitHub 页面。 复制从主要页面上显示的 README 文件中的 curl
命令。
在将命令输入到bash
之前,它总是是一个好主意来审核脚本,以确保它没有做任何你不同意的事情。
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh
看看并确保您对它正在进行的更改感到满意。当您满意时,请再次运行命令,在末尾附带的bash
。您使用的URL将取决于最新版本的nvm,但从现在开始,脚本可以通过键入来下载和执行:
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
这将为您的用户帐户安装 nvm
脚本. 要使用它,您必须先源您的 .bashrc
文件:
1source ~/.bashrc
现在,您可以询问 NVM 哪些版本的 Node 可用:
1nvm list-remote
1[secondary_label Output]
2. . .
3 v14.16.0 (LTS: Fermium)
4 v14.16.1 (LTS: Fermium)
5 v14.17.0 (LTS: Fermium)
6 v14.17.1 (LTS: Fermium)
7 v14.17.2 (LTS: Fermium)
8 v14.17.3 (LTS: Fermium)
9 v14.17.4 (Latest LTS: Fermium)
10 v15.0.0
11 v15.0.1
12 v15.1.0
13 v15.2.0
14 v15.2.1
15 v15.3.0
16 v15.4.0
17 v15.5.0
18 v15.5.1
19 v15.6.0
20 v15.7.0
21 v15.8.0
22 v15.9.0
23 v15.10.0
24 v15.11.0
25 v15.12.0
26 v15.13.0
27 v15.14.0
28 v16.0.0
29 v16.1.0
30 v16.2.0
这是一个很长的列表! 您可以通过键入您看到的任何版本来安装 Node 的版本. 例如,要获取版本 v14.10.1,您可以键入:
1nvm install v14.10.1
您可以通过键入查看您安装的不同版本:
1nvm list
1[secondary_label Output]
2-> v14.10.1
3 system
4default -> v14.10.1 (-> N/A)
5iojs -> N/A (default)
6unstable -> N/A (default)
7node -> stable (-> v14.10.1) (default)
8stable -> 14.10 (-> v14.10.1) (default))
9. . .
这显示了第一个行(-> v14.10.1
)上当前活跃的版本,然后是一些命名的代名和这些代名指向的版本。
<$>[注]
注: 如果您还通过apt
安装了 Node.js 的版本,您可能会看到一个系统
条目。
此外,您还会看到各种 Node 的长期支持(或 LTS)版本的副名称:
1[secondary_label Output]
2. . .
3lts/* -> lts/fermium (-> N/A)
4lts/argon -> v4.9.1 (-> N/A)
5lts/boron -> v6.17.1 (-> N/A)
6lts/carbon -> v8.17.0 (-> N/A)
7lts/dubnium -> v10.24.1 (-> N/A)
8lts/erbium -> v12.22.4 (-> N/A)
9lts/fermium -> v14.17.4 (-> N/A)
例如,要安装最新的长期支持版本,‘fermium’,请执行以下操作:
1nvm install lts/fermium
1[secondary_label Output]
2Downloading and installing node v14.17.4...
3. . .
4Now using node v14.17.4 (npm v6.14.14))
您可以通过使用 nvm
在安装的版本之间切换:
1nvm use v14.10.0
1[secondary_label Output]
2Now using node v14.10.0 (npm v6.14.8)
You can verify that the install was successful using the same technique from the other sections, by typing:
1node -v
1[secondary_label Output]
2v14.10.0
正確的 Node 版本正如我們所期望的那樣安裝在我們的機器上。
结论
您可以在 Ubuntu 16.04 服务器上使用 Node.js 运行几种方法,您的情况将决定哪种方法最适合您的需求,而在 Ubuntu 存储库中使用包装版本是最简单的方法,使用nvm
或 NodeSource PPA 提供了额外的灵活性。
有关 Node.js 编程的更多信息,请参阅我们的教程系列 How To Code in Node.js。