Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用 JavaScript,Node.js 使开发更加一致和集成。
在本指南中,您将了解在 Ubuntu 18.04 服务器上安装 Node.js 的三种不同方法。
本指南假设您使用的是 Ubuntu 18.04。在开始之前,您应该有一个非root用户帐户sudo
在您的系统上设置的权限。您可以按照以下步骤了解如何执行此操作Ubuntu 18.04 的初始服务器设置教程.
Ubuntu 18.04 在其默认存储库中包含 Node.js 版本,可用于跨多个系统提供一致的体验。在撰写本文时,存储库中的版本是 8.10.0。这不是最新版本,但它应该稳定且足以快速实验该语言。
要获取此版本,您可以使用apt
包管理器。刷新本地包索引:
现在安装 Node.js:
通过查询验证您是否已成功安装 Node.jsnode
其版本号:
Output
v8.10.0
如果存储库中的包满足您的需求,这就是您设置 Node.js 所需要做的全部事情。在大多数情况下,您还需要安装npm
,Node.js 包管理器。您可以安装npm
封装有apt
:
这将允许您安装与 Node.js 一起使用的模块和包。
您现在已经成功安装了 Node.js 并且npm
using apt
以及默认的 Ubuntu 软件存储库。但是,您可能更喜欢使用不同版本的 Node.js、包存档或版本管理器。接下来的步骤将讨论这些元素以及更灵活和稳健的安装方法。
要安装更新版本的 Node.js,您可以添加PPA(个人包存档)由以下人员维护节点源。这将拥有比官方 Ubuntu 存储库更多的最新版本的 Node.js,并且允许您在平台的多个可用版本之间进行选择。
First, install the PPA in order to get access to its contents. From your home directory, use curl
to retrieve the installation script for your preferred version, making sure to replace 17.x
with your preferred version string (if different):
-
cd ~
-
curl -sL https://deb.nodesource.com/setup_17.x -o /tmp/nodesource_setup.sh
您可以参考节点源文档有关当前可用版本的更多信息。
如果您愿意,您可以使用以下命令检查此脚本的内容nano
(或您喜欢的文本编辑器):
-
nano/tmp/nodesource_setup.sh
一旦您确信脚本可以安全运行,请退出文本编辑器。如果你用过nano
,您可以按退出CTRL + X
。接下来,运行脚本sudo
:
-
sudo bash/tmp/nodesource_setup.sh
PPA 将添加到您的配置中,并且您的本地包缓存将自动更新。现在您可以像上一节中那样安装 Node.js 包:
通过运行验证您已安装新版本node
与-v
flag:
Output
v17.3.0
与默认 Ubuntu 软件包存储库中的软件包不同,此nodejs
包装包含两者node
and npm
,所以你不需要安装npm
分别地。
npm
使用主目录中的配置文件来跟踪更新。它将在您第一次运行时创建npm
。运行以下命令来验证npm
安装并创建配置文件:
Output
8.3.0
为了一些npm
要工作的软件包(例如,需要从源代码编译代码的软件包),您需要安装build-essential
包裹:
现在您拥有了必要的工具来使用npm
需要从源代码编译代码的包。
在本部分中,您已成功安装 Node.js 并npm
using apt
和 NodeSource PPA。接下来,您将使用 Node Version Manager 安装和管理多个版本的 Node.js。
安装 Node.js 的另一种方法是使用名为的工具nvm
、节点版本管理器(NVM)。而不是在操作系统级别工作,nvm
在主目录中的独立目录级别工作。这意味着您可以安装多个独立版本的 Node.js,而不会影响整个系统。
控制您的环境nvm
允许您访问最新版本的 Node.js 并保留和管理以前的版本。它是一个不同的实用程序apt
但是,您使用它管理的 Node.js 版本与您使用的 Node.js 版本不同apt
.
要在 Ubuntu 18.04 计算机上安装 NVM,请访问项目的 GitHub 页面。复制curl
从主页上显示的自述文件中输入命令即可获取最新版本的安装脚本。
在将命令通过管道传输到之前bash
,审核脚本以确保它没有做任何您不同意的事情总是一个好主意。您可以通过删除| bash
末尾的部分curl
命令:
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
检查输出并确保您对它所做的更改感到满意。一旦您满意,请运行相同的命令| bash
附在最后。您使用的 URL 将根据 NVM 的最新版本而变化,但从现在开始,可以通过运行以下命令来下载并执行脚本:
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
这将安装nvm
脚本到您的用户帐户。为了使用它,首先要获取.bashrc
file:
With nvm
安装后,您可以安装独立的 Node.js 版本。首先,问一下nvm
有哪些版本的 Node 可用:
Output
...
v14.18.2 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
v15.6.0
v15.7.0
v15.8.0
v15.9.0
v15.10.0
v15.11.0
v15.12.0
v15.13.0
v15.14.0
v16.0.0
v16.1.0
v16.2.0
v16.3.0
v16.4.0
v16.4.1
v16.4.2
v16.5.0
v16.6.0
v16.6.1
v16.6.2
v16.7.0
v16.8.0
v16.9.0
v16.9.1
v16.10.0
v16.11.0
v16.11.1
v16.12.0
v16.13.0 (LTS: Gallium)
v16.13.1 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
v17.3.0
这是一个很长的列表,但是您可以通过输入列出的任何已发布版本来安装 Node 版本。例如,要获取版本 v16.13.1,请运行以下命令:
Output
Now using node v16.13.1 (npm v8.1.2)
有时nvm
将切换到使用最近安装的版本。但你可以告诉nvm
使用您刚刚下载的版本(如果不同):
通过运行以下命令检查当前使用的版本:
Output
v16.13.1
如果您安装了多个 Node 版本,您可以运行ls
获取它们的列表:
Output
-> v16.13.1
system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1
您还可以默认使用以下版本之一:
- nvm alias default 16.13.1
Output
default -> 16.13.1 (-> v16.13.1)
当新会话产生时,将自动选择此版本。您还可以通过别名引用它,如以下命令所示:
Output
Now using node v16.13.1 (npm v8.1.2)
每个版本的 Node 都会跟踪自己的包并具有npm
可以管理这些。
您还可以拥有npm
将软件包安装到 Node.js 项目的./node_modules
目录。使用以下语法来安装express
module:
Output
added 50 packages, and audited 51 packages in 4s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g npm@8.3.0 to update!
npm notice
如果您想全局安装该模块,使其可供使用相同版本 Node.js 的其他项目使用,您可以添加-g
flag:
Output
added 50 packages, and audited 51 packages in 1s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
这会将软件包安装在:
- ~/.nvm/versions/node/16.13.1/lib/node_modules/express
全局安装模块将允许您从命令行运行命令,但您必须将包链接到本地范围才能从程序中需要它:
您可以通过以下方式了解有关可用选项的更多信息nvm
通过运行以下命令:
您已使用 Node Version Manager 成功安装了 Node,nvm
,安装和管理各种版本的 Node.js。
您可以使用以下命令卸载 Node.jsapt
or nvm
,具体取决于您要定位的版本。要删除默认存储库版本,您将使用apt
在系统层面。此命令删除包并保留配置文件。如果您计划将来再次安装该软件包,这非常有用:
如果您不想保存配置文件以供以后使用,请运行以下命令卸载该软件包并删除与其关联的配置文件:
sudo apt purge nodejs
最后一步,您可以删除随删除的软件包一起自动安装的所有未使用的软件包:
卸载已启用的 Node.js 版本nvm
,首先确定您要删除的版本是否是当前活动版本:
如果您的目标版本是not当前活动版本,您可以运行:
- nvm uninstall node_version
Output
Uninstalled node node_version
此命令将卸载选定版本的 Node.js。
如果您要删除的版本是当前活动版本,则必须先停用nvm
启用您的更改:
现在您可以使用以下命令卸载当前版本uninstall
之前使用过的命令。这将删除与 Node.js 目标版本关联的所有文件,但可用于重新安装的缓存文件除外。
有很多方法可以在 Ubuntu 18.04 服务器上启动并运行 Node.js。您的具体情况将决定哪种方法最适合您的需求。虽然使用 Ubuntu 存储库中的打包版本是一种方法,但使用nvm
或 NodeSource PPA 提供额外的灵活性。
有关使用 Node.js 编程的更多信息,请参阅我们的教程系列如何在 Node.js 中编码.