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

介绍

Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,Node.js使开发更加一致和集成。

在本指南中,我们将向您展示如何在Debian 9服务器上开始使用Node.js.

先决条件

本指南假设您使用的是Debian 9。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

开始之前,您应该拥有一个在系统上设置了具有sudo权限的非root用户帐户。您可以通过遵循Debian 9的初始服务器设置来学习如何设置它。

如果你想了解如何在其他关于Node.js文章,你可以参考如何在Ubuntu16.04上安装Node.js

为Debian安装Distro-Stable版本

Debian在其默认存储库中包含一个Node.js版本。在撰写本文时,此版本为4.8.2,将于2018年4月底达到使用寿命。如果您希望使用稳定且充足的选项来试验该语言,则可以从存储库进行安装。合理。但是,建议您在开发和生产用例中使用PPA安装更新版本。我们将在下一步讨论如何从PPA安装。

要获得Distro-stable版本的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
v10.9.0

nodejs软件包包含nodejs二进制文件以及npm,因此您无需单独安装npm

npm使用主目录中的配置文件来跟踪更新。它将在您第一次运行npm时创建。执行此命令以验证npm是否已安装并创建配置文件:

npm -v
6.2.0

为了使某些npm软件包能够工作(例如,需要从源代码编译代码),您需要安装build-essential软件包:

sudo apt install build-essential

您现在拥有必要的工具来处理需要从源代码编译代码的npm包。

使用NVM安装

通过apt安装Node.js的另一种方法是使用一个名为nvm的“Node.js Version Manager”的工具。在这一种情况下,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
...
         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
v8.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来提供额外的灵活性。

更多Debian教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Install Node.js on Debian 9》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏磨磨谈

rbd-mirror配置指南-单向备份

RBD 的 mirroring 功能将在Jewel中实现的,这个Jewel版本已经发布了很久了,这个功能已经在这个发布的版本中实现了,本来之前写过一篇文章,但是...

1661
来自专栏pangguoming

Windows 8 IIS配置PHP运行环境

在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板>>程序和功能>>打开或关闭Windows 功能,找到In...

6958
来自专栏服务端技术杂谈

OAuth认证

之前写过一个基于签名的公网API访问安全控制,另一种方式是基于OAuth认证协议做安全控制。 说明 用户访问A客户端,使用B的服务及资源。B只有征得用户的授权,...

3037
来自专栏L宝宝聊IT

部署KVM虚拟化平台

1923
来自专栏吴柯的运维笔记

memcached数据库环境部署及应用

前言: 三大传统数据库:mysql,sqlserver,oracle 【sql数据库-存硬盘-慢】 新兴数据库:mogodb,memcached,redis ...

2785
来自专栏电光石火

在Win7的IIS上搭建FTP服务及用户授权

FTP服务      FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Intern...

4959
来自专栏技术文章

资深专家深度剖析Kubernetes API Server第1章(共3章)

欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现。如...

1582
来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(11.28-12.04)

1545
来自专栏bboysoul

搭建harbor仓库

wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline...

2354
来自专栏运维小白

Linux基础(day40)

11.6 MariaDB安装 安装mariadb cd /usr/local/src wget https://downloads.mariadb.com/Ma...

3066

扫码关注云+社区

领取腾讯云代金券