如何部署 Node.js 开发环境

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

在本指南中,我们将向您展示如何在Ubuntu 18.04服务器上开始使用Node.js。如果您还没有腾讯云的服务器,可以先点击这里进行免费套餐的试用。免费套餐包含企业版和个人版,超过11款热门产品和42款长期免费的云产品可以供您选择。如果您有长期搭建服务器的需求的话,可以点击这里进行服务器的购买,现在的促销力度很大哦。

为Ubuntu安装Distro-Stable版本

Ubuntu 18.04在其默认存储库中包含一个Node.js版本,可用于跨多个系统提供一致的体验。在撰写本文时,存储库中的版本为8.10.0。这不是最新版本,但它应该是稳定的,所以足够本次教程使用。

要获得此版本,您可以使用apt。输入以下命令更新本地软件包:

sudo apt update

从存储库安装Node.js:

sudo apt install nodejs

如果存储库中的软件包满足您的需求,那么您需要做的就是使用Node.js进行设置。在大多数情况下,您还需要安装npm,Node.js的包管理器。您可以通过输入以下命令来安装:

sudo apt install npm

这将允许您安装与Node.js一起使用的模块和包。

由于与另一个包冲突,因此调用的是Ubuntu存储库中的可执行文件nodejs而不是node。在运行软件时请记住这一点。

要检查在这些初始步骤之后安装了哪个版本的Node.js,请输入:

nodejs -v

一旦确定了从Ubuntu存储库安装了哪个版本的Node.js,就可以决定是否要使用不同的版本,包存档或版本管理器。接下来,我们将讨论这些元素,以及更灵活和强大的安装方法。

使用PPA安装

要获得更新版本的Node.js,您可以添加由NodeSource维护的PPA(个人包存档)。这将有比官方Ubuntu存储库更多的Node.js最新版本,并允许您在Node.js v6.x(支持到2019年4月),Node.js v8.x(当前版本之间进行选择 LTS(长期支持版)版本,支持到2019年12月)和Node.js v10.x(最新版本,支持到2021年4月)。

首先,安装PPA以访问其内容。回到用户跟目录,使再用curl检索首选版本的安装脚本,确保替换8.x为首选版本字符串(如果不同):

cd ~
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

您可以使用nano(或者其他您喜欢的编辑器)检查此脚本的内容:

nano nodesource_setup.sh

使用sudo运行以下脚本:

sudo bash nodesource_setup.sh

PPA将添加到您的配置中,您的本地包缓存将自动更新。从Nodesource运行安装脚本后,您可以像上面一样安装Node.js包:

sudo apt install nodejs

要检查在这些初始步骤之后安装了哪个版本的Node.js,请输入:

nodejs -v
Output
v8.11.1

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

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

npm -v
Output
5.6.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的版本不同于Ubuntu存储库中可用的发行版本的Node.js。

要从项目的GitHub页面下载nvm安装脚本,您可以使用curl。请注意,版本号可能与此处显示的不同:

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh

使用以下命令检查安装脚本:

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  

如您所见,本文撰写时的当前LTS版本是v8.11.1。您可以通过输入以下命令安装:

nvm install 8.11.1

通常,nvm将切换到使用最近安装的版本。您可以nvm通过输入以下命令来使用您刚下载的版本:

nvm use 8.11.1

使用时安装Node.js nvm,将调用可执行文件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

您可以使用apt或卸载Node.js nvm,具体取决于您要定位的版本。要删除发行版本,您需要apt在系统级别使用该实用程序。

要删除发行版本,请输入以下内容:

sudo apt remove nodejs

此命令将删除程序包并保留配置文件。如果您打算稍后再次安装软件包,这些可能对您有用。如果您不想保存配置文件,请输入以下命令:

sudo apt purge nodejs

这将卸载程序包并删除与其关联的配置文件。

最后一步,您可以删除任何未使用的软件包,这些软件包是与已删除的软件包一起自动安装的:

sudo apt autoremove

要使用nvm卸载已启用的Node.js版本,请首先确定要删除的版本是否为当前活动的版本:

nvm current

如果您要定位的版本不是当前的活动版本,则可以运行:

nvm uninstall node_version

此命令将卸载所选的Node.js版本。

如果要删除的版本当前活动版本,则必须先停用nvm

nvm deactivate

您现在可以使用上面的uninstall命令卸载当前版本,该命令将删除与目标版本的Node.js相关联的所有文件,但可用于重新安装的缓存文件不会被删除。

结论

在Ubuntu 18.04服务器上运行Node.js有很多种方法可供选择。您的情况将决定上述哪种方法最适合您的需求。虽然在Ubuntu的存储库中使用打包版本是最简单的方法,但使用nvm灵活性更高。若您想在实验室环境抢先体验搭建node.js环境,我推荐您到腾讯云实验室页面进行选择,不仅有步骤指导,还可以免费上机,帮助您快速掌握开发知识!

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Samego开发资源

一步迁移MySQL数据库目录 | base apt-get

1953
来自专栏编程

Web并发页面访问量统计实现

往期精选 页面访问量统计,可能在上学的时候就讲过如何简单实现,例如在servletContext中保存一个页页面访问次数,然后每访问一次加1;或者每访问一次就把...

7959
来自专栏菩提树下的杨过

rpc框架之HA/负载均衡构架设计

thrift、avro、grpc之类的rpc框架默认都没有提供负载均衡的实现,生产环境中如果server只有一台,显然不靠谱,于是有了下面的设计,这其实是前一阵...

2938
来自专栏python百例

121-配置zabbix通过钉钉机器人报警

zabbix服务器监控到异常,可以通过各种方式发送报警消息。配置步骤如下: 1、创建报警脚本

1905
来自专栏云计算教程系列

在Centos上安装Node.js

Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台avaScript 运行环境。Node.js由Node.js基金会持有和维护,并与...

5600
来自专栏不想当开发的产品不是好测试

jenkins 邮件添加附件

背景 当CI执行失败的时候,想获取到失败的用例,然后在本地调试,testNG是自带一个testng-failed.xml来记录的; 想法:尝试使用git 来p...

2555
来自专栏james大数据架构

0基础搭建Hadoop大数据处理-环境

   由于Hadoop需要运行在Linux环境中,而且是分布式的,因此个人学习只能装虚拟机,本文都以VMware Workstation为准,安装CentOS7...

2097
来自专栏华章科技

零基础搭建Hadoop大数据处理环境

VMware的安装,装好一个虚拟机后利用复制虚拟机的方式创建后面几个虚拟机,省时省力,需要注意的是需要修改每个虚拟机的IP与主机名。

1273
来自专栏JetpropelledSnake

Python Web学习笔记之Python多线程和多进程、协程入门

进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任...

3925
来自专栏大数据

零基础搭建Hadoop大数据处理环境

由于hadoop需要运行在Linux环境中,而且是分布式的,因此个人学习只能装虚拟机,本文都以VMware Workstation为准,安装CentOS7,具体...

2328

扫码关注云+社区

领取腾讯云代金券