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:
代码语言:javascript复制sudo apt install nodejs
如果存储库中的软件包满足您的需求,那么您需要做的就是使用Node.js进行设置。在大多数情况下,您还需要安装npm
,Node.js的包管理器。您可以通过输入以下命令来安装:
sudo apt install npm
这将允许您安装与Node.js一起使用的模块和包。
由于与另一个包冲突,因此调用的是Ubuntu存储库中的可执行文件nodejs
而不是node
。在运行软件时请记住这一点。
要检查在这些初始步骤之后安装了哪个版本的Node.js,请输入:
代码语言:javascript复制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包:
代码语言:javascript复制sudo apt install nodejs
要检查在这些初始步骤之后安装了哪个版本的Node.js,请输入:
代码语言:javascript复制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
使用以下命令检查安装脚本:
代码语言:javascript复制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。您可以通过输入以下命令安装:
代码语言:javascript复制nvm install 8.11.1
通常,nvm
将切换到使用最近安装的版本。您可以nvm
通过输入以下命令来使用您刚下载的版本:
nvm use 8.11.1
使用时安装Node.js nvm
,将调用可执行文件node
。您可以通过输入以下内容来查看shell当前使用的版本:
node -v
v8.11.1
如果您有多个Node.js版本,则可以通过输入以下内容来查看安装的内容:
代码语言:javascript复制nvm ls
如果您希望默认其中一个版本,请输入:
代码语言:javascript复制nvm alias default 8.11.1
当新会话产生时,将自动选择此版本。您也可以通过以下命令使用它:
代码语言:javascript复制nvm use default
每个版本的Node.js都会使用自己的包,并npm
可以管理它们。
您可以用npm
将程序包安装到Node.js项目的./node_modules
目录中。使用以下语法安装express
模块:
npm install express
如果您想要全局安装模块,使用相同版本的Node.js将其提供给其他项目,您可以添加-g
:
npm install -g express
这将安装包:
代码语言:javascript复制~/.nvm/versions/node/node_version/lib/node_modules/express
全局安装模块将允许您从命令行运行命令,但是您必须将程序包链接到本地范围以从程序中请求它:
代码语言:javascript复制npm link express
您可以通过输入以下内容来了解有关nvm可用选项的更多信息:
代码语言:javascript复制nvm help
删除Node.js
您可以使用apt
或卸载Node.js nvm
,具体取决于您要定位的版本。要删除发行版本,您需要apt
在系统级别使用该实用程序。
要删除发行版本,请输入以下内容:
代码语言:javascript复制sudo apt remove nodejs
此命令将删除程序包并保留配置文件。如果您打算稍后再次安装软件包,这些可能对您有用。如果您不想保存配置文件,请输入以下命令:
代码语言:javascript复制sudo apt purge nodejs
这将卸载程序包并删除与其关联的配置文件。
最后一步,您可以删除任何未使用的软件包,这些软件包是与已删除的软件包一起自动安装的:
代码语言:javascript复制sudo apt autoremove
要使用nvm
卸载已启用的Node.js版本,请首先确定要删除的版本是否为当前活动的版本:
nvm current
如果您要定位的版本不是当前的活动版本,则可以运行:
代码语言:javascript复制nvm uninstall node_version
此命令将卸载所选的Node.js版本。
如果要删除的版本是当前活动版本,则必须先停用nvm
:
nvm deactivate
您现在可以使用上面的uninstall命令卸载当前版本,该命令将删除与目标版本的Node.js相关联的所有文件,但可用于重新安装的缓存文件不会被删除。
结论
在Ubuntu 18.04服务器上运行Node.js有很多种方法可供选择。您的情况将决定上述哪种方法最适合您的需求。虽然在Ubuntu的存储库中使用打包版本是最简单的方法,但使用nvm
灵活性更高。若您想在实验室环境抢先体验搭建node.js环境,我推荐您到腾讯云实验室页面进行选择,不仅有步骤指导,还可以免费上机,帮助您快速掌握开发知识!