首页 > 系统相关 >在Ubuntu 18.04上安装Node.js的方法

在Ubuntu 18.04上安装Node.js的方法

时间:2024-09-11 12:22:06浏览次数:12  
标签:Node npm 18.04 js 版本 nvm 安装

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

介绍

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

在本指南中,您将学习在 Ubuntu 18.04 服务器上安装 Node.js 的三种不同方法。

先决条件

本指南假设您正在使用 Ubuntu 18.04。在开始之前,您应该在系统上设置一个具有 sudo 权限的非root用户帐户。您可以按照 Ubuntu 18.04 的初始服务器设置教程来学习如何做到这一点。

使用 Apt 从默认仓库安装 Node.js

Ubuntu 18.04 包含一个 Node.js 版本,可以在其默认仓库中使用,以在多个系统上提供一致的体验。在撰写本文时,仓库中的版本为 8.10.0。这可能不是最新版本,但对于快速尝试该语言来说,它应该是稳定且足够的。

要获取这个版本,您可以使用 apt 软件包管理器。刷新本地软件包索引:

sudo apt update

现在安装 Node.js:

sudo apt install nodejs

通过查询 node 的版本号来验证您已成功安装 Node.js:

node -v
v8.10.0

如果仓库中的软件包符合您的需求,这就是您设置 Node.js 所需做的一切。在大多数情况下,您还需要安装 npm,即 Node.js 包管理器。您可以使用 apt 安装 npm 软件包:

sudo apt install npm

这将允许您安装模块和包以供 Node.js 使用。

您现在已成功使用 apt 和默认的 Ubuntu 软件仓库安装了 Node.js 和 npm。但是,您可能更喜欢使用不同版本的 Node.js、软件包存档或版本管理器。接下来的步骤将讨论这些元素,以及更灵活和健壮的安装方法。

使用 Apt 使用 NodeSource PPA 安装 Node.js

要安装更新版本的 Node.js,您可以添加由 NodeSource 维护的 PPA(个人软件包存档)。这将比官方的 Ubuntu 仓库包含更新版本的 Node.js,并允许您在多个可用版本的平台之间进行选择。

首先,安装 PPA 以访问其内容。从您的主目录,使用 curl 检索您首选版本的安装脚本,确保将 17.x 替换为您首选的版本字符串(如果不同):

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

您可以参考 NodeSource 文档以获取有关当前可用版本的更多信息。

如果愿意,您可以使用 nano(或您首选的文本编辑器)检查此脚本的内容:

nano /tmp/nodesource_setup.sh

一旦确定脚本是安全的,退出文本编辑器。如果您使用的是 nano,您可以通过按下 CTRL + X 来退出。接下来,使用 sudo 运行脚本:

sudo bash /tmp/nodesource_setup.sh

PPA 将被添加到您的配置中,并且您的本地软件包缓存将自动更新。现在,您可以像在上一节中那样安装 Node.js 软件包:

sudo apt install nodejs

通过使用 -v 标志运行 node 来验证您已安装了新版本:

node -v
v17.3.0

与默认的 Ubuntu 软件包仓库中的软件包不同,此 nodejs 软件包包含了 nodenpm,因此您无需单独安装 npm

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

npm -v
8.3.0

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

sudo apt install build-essential

现在,您已经具备了使用需要从源代码编译的 npm 包所需的工具。

在本节中,您成功地使用了 apt 和 NodeSource PPA 安装了 Node.js 和 npm。接下来,您将使用 Node Version Manager 来安装和管理多个版本的 Node.js。

使用 Node 版本管理器安装 Node

安装 Node.js 的另一种方法是使用一个名为 nvm 的工具,即 Node 版本管理器(NVM)。与在操作系统级别工作不同,nvm 在您的主目录中的独立目录级别工作。这意味着您可以安装多个独立的 Node.js 版本,而不会影响整个系统。

使用 nvm 控制您的环境可以访问最新版本的 Node.js,并保留和管理先前的版本。但是,它与 apt 是不同的实用程序,您使用它管理的 Node.js 版本与您使用 apt 管理的版本是不同的。

要在 Ubuntu 18.04 机器上安装 NVM,请访问该项目的 GitHub 页面。从主页上显示的 README 文件中复制 curl 命令以获取安装脚本的最新版本。

在将命令传递到 bash 之前,审查脚本以确保它没有执行您不同意的操作。您可以通过删除 curl 命令末尾的 | bash 段来执行此操作:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

审查输出并确保您对其所做的更改感到满意。一旦您满意,运行相同的命令,并在末尾添加 | bash

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

这将安装 nvm 脚本到您的用户帐户。为了使用它,首先要源化 .bashrc 文件:

source ~/.bashrc

安装了 nvm 后,您可以安装隔离的 Node.js 版本。首先,询问 nvm 有哪些 Node 版本可用:

nvm ls-remote
...
        v14.18.2   (最新 LTS: Fermium)
        v15.0.0
        v15.0.1
        v15.1.0
        v15.2.0
        v15.2.1
        v15.3.0
        v15.4.0
        v15.5.0
        v15.5.1
        v15.6.0
        v15.7.0
        v15.8.0
        v15.9.0
       v15.10.0
       v15.11.0
       v15.12.0
       v15.13.0
       v15.14.0
        v16.0.0
        v16.1.0
        v16.2.0
        v16.3.0
        v16.4.0
        v16.4.1
        v16.4.2
        v16.5.0
        v16.6.0
        v16.6.1
        v16.6.2
        v16.7.0
        v16.8.0
        v16.9.0
        v16.9.1
       v16.10.0
       v16.11.0
       v16.11.1
       v16.12.0
       v16.13.0   (LTS: Gallium)
       v16.13.1   (最新 LTS: Gallium)
        v17.0.0
        v17.0.1
        v17.1.0
        v17.2.0
        v17.3.0

这是一个非常长的列表,但您可以通过输入列出的任何发布版本来安装 Node 的版本。例如,要获取版本 v16.13.1,请运行以下命令:

nvm install v16.13.1
Now using node v16.13.1 (npm v8.1.2)

有时 nvm 会切换到使用最近安装的版本。但是,您可以告诉 nvm 使用您刚下载的版本(如果不同):

nvm use v16.13.1

通过运行以下命令检查当前使用的版本:

node -v
v16.13.1

如果安装了多个 Node 版本,可以运行 ls 来获取它们的列表:

nvm ls
->     v16.13.1
         system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1

您还可以将其中一个版本设置为默认版本:

nvm alias default 16.13.1
default -> 16.13.1 (-> v16.13.1)

当新会话生成时,将自动选择此版本。您还可以通过别名引用它,如以下命令:

nvm use default
Now using node v16.13.1 (npm v8.1.2)

每个 Node 版本都将跟踪其自己的软件包,并且具有可用于管理这些软件包的 npm

您还可以让 npm 将软件包安装到 Node.js 项目的 ./node_modules 目录中。使用以下语法安装 express 模块:

npm install express
added 50 packages, and audited 51 packages in 4s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g [email protected] to update!
npm notice

如果要全局安装模块,使其可用于使用相同版本的 Node.js 的其他项目,可以添加 -g 标志:

npm install -g express
added 50 packages, and audited 51 packages in 1s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

这将在以下位置安装软件包:

~/.nvm/versions/node/16.13.1/lib/node_modules/express

全局安装模块将允许您从命令行运行命令,但您必须将软件包链接到本地范围以便从程序内部引用它:

npm link express

您可以通过运行以下命令了解 nvm 提供给您的选项:

nvm help

通过使用 Node 版本管理器 nvm 成功安装了 Node,并安装和管理了各种版本的 Node。

卸载 Node.js

您可以使用 aptnvm 来卸载 Node.js,具体取决于您要针对的版本。要删除默认存储库版本,您将在系统级别使用 apt。此命令将删除软件包并保留配置文件。这在将来打算重新安装软件包时非常有用:

sudo apt remove nodejs

如果您不希望保留配置文件以供以后使用,则运行以下命令以卸载软件包并删除与其关联的配置文件:

sudo apt purge nodejs

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

sudo apt autoremove

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

nvm current

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

nvm uninstall node_version
已卸载 node node_version

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

如果您要删除的版本是当前活动版本,则必须先停用 nvm 以启用您的更改:

nvm deactivate

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

结论

在 Ubuntu 18.04 服务器上运行 Node.js 有很多方法。您的具体情况将决定哪种方法最适合您的需求。虽然使用 Ubuntu 存储库中的打包版本是一种方法,但使用 nvm 或 NodeSource PPA 提供了额外的灵活性。

有关使用 Node.js 进行编程的更多信息,请参阅我们的教程系列《如何在 Node.js 中编码》。

标签:Node,npm,18.04,js,版本,nvm,安装
From: https://blog.csdn.net/rubys007/article/details/142006819

相关文章

  • 基于JavaWeb开发的java eclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版
    基于JavaWeb开发的javaeclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版......
  • wangeditor——cdn引入的形式创建一个简易版编辑器——js技能提升
    昨天同事那边有个需求,就是要实现聊天功能,需要用到一个富文本编辑器,参考如下:上面的这个效果图是博客园的评论输入框最终使用wangEditor编辑器实现的效果如下:只保留了个别的菜单:默认模式的wangEditor编辑器如下:下面直接上代码:解决步骤1:cdn引入head头部标签引入css<......
  • 与 D3.js 的对比:ECharts 在前端可视化中的优势与劣势
    在前端数据可视化的领域,ECharts和D3.js是两个非常流行且强大的工具。尽管它们都可以用来创建图表和数据可视化,但它们的设计理念、使用方式和适用场景有所不同。本文将对这两个库进行比较,帮助你理解ECharts在前端可视化中的优势与劣势。ECharts的优势易于上手ECharts......
  • mysql 8.0数据类型 json
    mysql8.0新增数据类型json。5.7通过blob等类型来保存json格式的数据,为什么还要专门增加这一数据格式的支持呢?  1.保证了JSON数据类型的强校验:JSON数据列会自动校验存入此列的内容是否符合JSON格式,    非正常格式则报错,而varchar类型和text等类型本身是不存在这......
  • Electron - #005 后端node调用文件打开对话框获取绝对路径传递给前端
    文章目录后端node调用文件打开对话框获取绝对路径传递给前端1目标2步骤2.1src-electron/main.js2.2src-electron/preload.js2.3HelloWorld.vue2.4运行工程后端node调用文件打开对话框获取绝对路径传递给前端1目标后端node调用文件打开对话框获取绝对路径......
  • js中【微任务】和【宏任务】长篇解读
    在JavaScript中,理解微任务(microtasks)和宏任务(macrotasks)是掌握异步编程和事件循环(EventLoop)机制的关键。这两个概念影响了代码的执行顺序,特别是在涉及异步操作(如setTimeout、Promise、async/await等)时。为了深刻理解它们的差异及其在事件循环中的表现,我们将从最基......
  • jsp餐厅服务人员评价系统o8pf9
    jsp餐厅服务人员评价系统o8pf9本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能员工,用户,工作签到,请假信息,考勤信息,服务评价,员工考核技术要求:   开发语言:JSP前端使用:HTML5,CSS,JSP动态网......
  • jsp超市管理系统设计与实现5ojjs本系统(程序+源码+数据库+调试部署+开发环境)带论文文档
    jsp超市管理系统设计与实现5ojjs本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能会员,商品分类,员工信息,热卖商品,订单信息,商品采购开题报告内容JSP超市管理系统设计与实现(5OJJS)开题内容报告一......
  • jsp超市管理系统的设计与实现103v4 本系统(程序+源码+数据库+调试部署+开发环境)
    jsp超市管理系统的设计与实现10本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能超市公告,商品分类,用户,商品信息,商品入库,用户订单,商品出库,商品盘点技术要求:   开发语言:JSP前端使用:HTML......
  • jsp超市管理系统的设计s6kuk
    jsp超市管理系统的设计s6kuk本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能员工,商品信息,商品分类,仓库信息,供应商,进货信息,退货信息,销售信息,进货结算,退货结算,销售结算技术要求:   开......