介绍
Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。 通过在前端和后端利用JavaScript,Node.js使开发更加一致和集成。
在本指南中,我们将向您展示如何在Debian 9服务器上开始使用Node.js.
先决条件
本指南假设您使用的是Debian 9.开始之前,您应该拥有一个在系统上设置了sudo权限的非root用户帐户。 您可以通过遵循Debian 9的初始服务器设置来学习如何设置它。
为Debian安装Distro-Stable版本
Debian在其默认存储库中包含一个Node.js版本。 在撰写本文时,此版本为4.8.2,将于2018年4月底达到使用寿命。如果您希望使用稳定且充足的选项来试验该语言,则可以从存储库进行安装。合理。 但是,建议您在开发和生产用例中使用PPA安装更新版本。 我们将在下一步讨论如何从PPA安装。
要获得Node.js的发行版本,可以使用apt
包管理器。 首先,刷新本地包索引:
sudo apt update
然后从存储库安装Node.js包:
sudo apt install nodejs
如果存储库中的软件包满足您的需求,那么您需要做的就是使用Node.js进行设置。
要检查在这些初始步骤之后安装了哪个版本的Node.js,请键入:
nodejs -v
由于与另一个包的冲突,Debian存储库中的可执行文件称为nodejs
而不是node
。 在运行软件时请记住这一点。
一旦确定了从Debian存储库安装了哪个版本的Node.js,就可以决定是否要使用不同的版本,软件包存档或版本管理器。 接下来,我们将讨论这些元素,以及更灵活和强大的安装方法。
使用PPA安装
要使用更新版本的Node.js,您可以添加由NodeSource维护的PPA (个人包存档)。 这将有比官方Debian存储库更多的Node.js最新版本,并允许您在Node.js v4.x之间进行选择(旧的长期支持版本,将支持到最后2018年4月),Node.js v6.x(支持到2019年4月),Node.js v8.x(当前LTS版本,支持到2019年12月)和Node.js v10.x(最新版本,支持直到2021年4月)。
让我们首先更新本地包索引并安装curl
,您将使用它来访问PPA:
sudo apt update
sudo apt install curl
接下来,让我们安装PPA以访问其内容。 在您的主目录中,使用curl
检索首选版本的安装脚本,确保将10.x
替换为您首选的版本字符串(如果不同):
cd ~
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
您可以使用nano
或首选文本编辑器检查此脚本的内容:
nano nodesource_setup.sh
在sudo
下运行脚本:
sudo bash nodesource_setup.sh
PPA将添加到您的配置中,您的本地包缓存将自动更新。 运行安装脚本后,您可以像上面一样安装Node.js包:
sudo apt install nodejs
要检查在这些初始步骤之后安装了哪个版本的Node.js,请键入:
nodejs -v
Outputv10.9.0
nodejs
包中包含nodejs
binary和npm
,因此您无需单独安装npm
。
npm
使用主目录中的配置文件来跟踪更新。 它将在您第一次运行npm
时创建。 执行此命令以验证是否已安装npm
并创建配置文件:
npm -v
Output6.2.0
为了使某些npm
包能够工作(例如,需要从源代码编译代码),您需要安装build-essential
包:
sudo apt install build-essential
您现在拥有必要的工具来处理需要从源代码编译代码的npm
包。
使用NVM安装
通过apt
安装Node.js的另一种方法是使用名为nvm
的工具,它代表“Node.js版本管理器”。 nvm
不是在操作系统级别工作,而是在主目录中的独立目录级别工作。 这意味着您可以安装多个自包含的Node.js版本,而不会影响整个系统。
使用nvm
控制您的环境允许您访问最新版本的Node.js并保留和管理以前的版本。 然而,它与apt
实用程序不同,您使用它管理的Node.js版本与您使用apt
管理的版本不同。
要从项目的GitHub页面下载nvm
安装脚本,可以使用curl
。 请注意,版本号可能与此处突出显示的不同:
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh
使用nano
检查安装脚本:
nano install_nvm.sh
使用bash
运行脚本:
bash install_nvm.sh
它会将软件安装到主目录~/.nvm
的子目录中。 它还会为~/.profile
文件添加必要的行以使用该文件。
要获得对nvm
功能的访问权限,您需要注销并重新登录或者获取~/.profile
文件,以便当前会话知道更改:
source ~/.profile
安装nvm
,您可以安装隔离的Node.js版本。 有关可用的Node.js版本的信息,请键入:
nvm ls-remote
Output...
v8.11.1 (Latest LTS: Carbon)
v9.0.0
v9.1.0
v9.2.0
v9.2.1
v9.3.0
v9.4.0
v9.5.0
v9.6.0
v9.6.1
v9.7.0
v9.7.1
v9.8.0
v9.9.0
v9.10.0
v9.10.1
v9.11.0
v9.11.1
v10.0.0
v10.1.0
v10.2.0
v10.2.1
v10.3.0
v10.4.0
v10.4.1
v10.5.0
v10.6.0
v10.7.0
v10.8.0
v10.9.0
如您所见,本文撰写时的当前LTS版本是v8.11.1。 您可以通过输入以下命令安装:
nvm install 8.11.1
通常, nvm
将切换为使用最近安装的版本。 您可以通过键入以下内容告诉nvm
使用您刚刚下载的版本:
nvm use 8.11.1
使用nvm
安装Node.js时,可执行文件称为node
。 您可以通过键入以下内容来查看shell当前使用的版本:
node -v
Outputv8.11.1
如果您有多个Node.js版本,则可以通过键入以下内容来查看安装的内容:
nvm ls
如果您希望默认其中一个版本,请键入:
nvm alias default 8.11.1
当新会话产生时,将自动选择此版本。 您也可以通过以下别名引用它:
nvm use default
每个版本的Node.js都会跟踪自己的软件包,并且可以使用npm
来管理这些软件包。
您还可以将npm
安装包安装到Node.js项目的./node_modules
目录中。 使用以下语法安装express
模块:
npm install express
如果您想要全局安装模块,使其使用相同版本的Node.js可供其他项目使用,则可以添加-g
标志:
npm install -g express
这将安装包:
~/.nvm/versions/node/node_version/lib/node_modules/express
全局安装模块将允许您从命令行运行命令,但是您必须将程序包链接到本地范围以从程序中请求它:
npm link express
您可以通过键入以下内容来了解有关nvm可用选项的更多信息:
nvm help
删除Node.js
您可以使用apt
或nvm
卸载Node.js,具体取决于您要定位的版本。 要删除从存储库或PPA安装的版本,您需要在系统级别使用apt
实用程序。
要删除其中任何一个版本,请键入以下内容:
sudo apt remove nodejs
此命令将删除程序包和配置文件。
要卸载已使用nvm
启用的Node.js版本,请首先确定要删除的版本是否为当前活动版本:
nvm current
如果您要定位的版本不是当前的活动版本,则可以运行:
nvm uninstall node_version
此命令将卸载所选的Node.js版本。
如果要删除的版本是当前活动版本,则必须先停用nvm
以启用更改:
nvm deactivate
您现在可以使用上面的uninstall
命令卸载当前版本,这将删除与目标版本的Node.js相关联的所有文件,但可用于重新安装的缓存文件除外。
结论
在Debian 9服务器上使用Node.js有很多种方法可以启动和运行。 您的情况将决定上述哪种方法最适合您的需求。 虽然在Debian存储库中使用打包版本是一个实验选项,但从PPA安装并使用npm
或nvm
提供了额外的灵活性。