如何在Debian 9上安装Node.js.

介绍

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

您可以使用aptnvm卸载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安装并使用npmnvm提供了额外的灵活性。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏