首页 > 系统相关 >如何在 Ubuntu 20.04 上安装 Node.js 和 npm

如何在 Ubuntu 20.04 上安装 Node.js 和 npm

时间:2024-01-23 17:12:35浏览次数:34  
标签:Node npm js 版本 nvm 安装

如何在 Ubuntu 20.04 上安装 Node.js 和 npm

2020-05-15106752 版权   简介: 本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。

1.png
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、概述

Node.js 是一个跨平台的 JavaScript 运行环境,它构建在为了在服务器端运行 JavaScript 代码而设计的 Chrome JavaScript 上。它通常被用来构建后端应用,但是它也是非常流行的全栈和前端解决方案。npm 是 Node.js 的默认包管理工具,也是世界上最大的软件仓库。
本文我们将为大家讲解,在 Ubuntu 20.04 上安装 Node.js 和 npm 三种不同的方式。

  • 从 Ubuntu 标准的软件源。这是在 Ubuntu 上安装 Node.js 和 npm 最简单的方式,并且对大部分用户场景都足够了。包含在 Ubuntu 软件源中的版本是 10.19.0
  • 从 NodeSource 源仓库。使用这个仓库,你可以安装不同版本的 Node.js,而不像 Ubuntu 仓库中那样只能安装一个版本。当前,NodeSource 支持Node.js v14.xv13.xv12.x, 和 v10.x
  • 使用nvm(Node Version Manager)。这个工具允许你在同一台机器上安装多个 Node.js 版本。如果你是 Node.js 开发者,这可能是你最喜欢的安装 Node.js 的方式。

二、从 Ubuntu 软件源安装 Node.js 和 npm

在写作的时候,包含在 Ubuntu 20.04 软件源中的 Node.js 版本是10.19.0,这是一个长期版本。
安装非常直接。运行下面的命令更新软件包索引,并且安装 Node.js 和 npm:

sudo apt update
sudo apt install nodejs npm

上面的命令将会安装一系列包,包括编译和安装从 npm 来的本地扩展。
安装完成后运行下面的命令,验证安装过程:

nodejs --version
v10.19.0

三、 从 NodeSource 中安装 Node.js 和 npm

NodeSource 是一个公司,聚焦于提供企业级的 Node 支持。它维护了一个 APT 软件源,其中包含了很多 Node.js 版本。如果你的应用需要指定版本的Node.js 版本,使用这个软件源。
在写作的时候,NodeSource 软件源提供了以下版本:

  • v14.x - 最新稳定版
  • v13.x
  • v12.x - 最新长期版本
  • v10.x - 前一个长期版本

我们将会安装 Node.js 版本 14.x:
1)以 sudo 用户身份运行下面的命令,下载并执行 NodeSource 安装脚本:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

这个脚本将会添加 NodeSource 的签名 key 到你的系统,创建一个 apt 源文件,安装必备的软件包,并且刷新 apt 缓存。
如果你需要另外的 Node.js 版本,例如12.x,将setup_14.x修改为setup_12.x
2)NodeSource 源启用成功后,安装 Node.js 和 npm:

sudo apt install nodejs

nodejs 软件包同时包含nodenpm二进制包。
3)验证 Node.js 和 npm 是否正确安装。打印它们的版本号:

node --version

输出:

v14.2.0
npm --version

输出:

6.14.4

想要从 npm 编译本地扩展,你需要安装开发工具:

sudo apt install build-essential

四、从 NVM 安装 Node.js 和 npm

NVM (Node Version Manager) 是一个 Bash 脚本,它允许你为每一个用户管理多个 Node.js 版本。使用 NVM,你可以随时安装或者卸载任何你想要使用或者测试的 Node.js版本。
浏览nvm页面,并且拷贝下面的curl或者wget命令去下载和安装nvm脚本:

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

不要使用 sudo 运行,因为这会为 root 用户启用nvm
脚本将会从 Github 克隆项目到~/.nvm文件夹:

=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

就像上面说的,你应该关闭并且重新打开终端,或者运行下面的命令来将nvm脚本添加到当前 shell 会话。你可以选择一个你认为容易的。
一旦脚本在你的PATH中,验证nvm是否被正确安装,输入:

nvm --version

输出:

0.35.3

想要获取一系列 Node.js 版本,你可以使用nvm,运行:

nvm list-remote

这个命令将会打印很多可用的 Node.js 版本。
想要安装最新可用的 Node.js,运行:

nvm install node

输出结果如下:

...
Checksums matched!
Now using node v14.2.0 (npm v6.14.4)
Creating default alias: default -> node (-> v14.2.0)

安装完成后,运行如下命令查看 Node.js 版本:

node --version

输出:

v14.2.0

安装最新的长期版本和版本10.9.0:

nvm install --lts
nvm install 10.9.0

输入以下代码列出安装的 Node.js 版本

nvm ls

输出结果如下:

>      v10.9.0
       v12.16.3
        v14.2.0
default -> node (-> v14.2.0)
node -> stable (-> v14.2.0) (default)
stable -> 14.2 (-> v14.2.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.16.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.20.1 (-> N/A)
lts/erbium -> v12.16.3

箭头右边(> v10.9.0)是当前 shell 会话使用的 Node.js 版本,并且默认的版本被设置成v14.2.0。默认的版本是当你打开新的 shell 会话时,使用的版本。
如果你想修改当前使用的版本,输入:

nvm use 12.16.3

输出:

Now using node v12.16.3 (npm v6.14.4)

想要修改默认的 Node.js 版本,运行下面的命令:

nvm alias default 12.16.3

想要更多关于如何使用nvm脚本的信息,可以查看该项目的 Github 页面。

五、总结

至此,我们已经向你展示了在你的 Ubuntu 20.04 服务器上安装 Node.js 和 npm 的三种不同方式。你可以根据你的要求和偏好选择合适的方式。虽然通过 Ubuntu 或者 NodeSource 源来安装软件包版本,比较简单方便,但是 nvm 给你更多的自由,可以帮助用户添加或者移除 Node.js 版本。

标签:Node,npm,js,版本,nvm,安装
From: https://www.cnblogs.com/mouseleo/p/17982914

相关文章

  • inode爆满error is not recoverable exiting now
      查看    ......
  • jsgrid多个自定义控件按钮?
    我想添加多个自定义控件按钮,这样我就可以向这些按钮添加一个自定义单击事件。我遇到的问题是删除按钮只显示出来。我希望编辑和删除按钮都显示在每一行。我有以下代码:<script>$(document).ready(function(){$("#jsGrid").jsGrid({height:"auto",......
  • Table 变身记:Element-Plus携手SortableJS打造可拖拽式体验
    使用element-plus的el-table组件创建出来的table。结合sortable.js实现行拖动排序。安装包npminstall-Dsortablejs使用官方table示例代码<template><el-table:data="tableData"style="width:100%"><el-table-columnprop="date"label=&quo......
  • Node.js Shell 脚本开发指南(下)
    十四、创建跨平台shell脚本原文:exploringjs.com/nodejs-shell-scripting/ch_creating-shell-scripts.html译者:飞龙协议:CCBY-NC-SA4.014.1所需的知识14.1.1本章的下一步是什么14.2Node.jsESM模块作为Unix上独立的shell脚本14.2.1Unix上的Node.js......
  • OkHTTP发送POST请求传送JSON数据
    导入依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency>......
  • js Attr类型
    <ulid="myList"></ul>假设想给这个元素添加3个列表项。如果分3次给这个元素添加列表项,浏览器就要重新渲染3次页面,以反映新添加的内容。为避免多次渲染,下面的代码示例使用文档片段创建了所有列表项,然后一次性将它们添加到了元素:letfragment=document.createDocumentFra......
  • js DocumentType类型
    DocumentType类型DocumentType类型的节点包含文档的文档类型(doctype)信息,具有以下特征:nodeType等于10;nodeName值为文档类型的名称;nodeValue值为null;parentNode值为Document对象;不支持子节点。DocumentType对象在DOMLevel1中不支持动态创建,只能在解......
  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js 规范化文本节点
    在将一个文本节点作为另一个文本节点的同胞插入后,两个文本节点的文本之间不会包含空格。2.规范化文本节点DOM文档中的同胞文本节点可能导致困惑,因为一个文本节点足以表示一个文本字符串。同样,DOM文档中也经常会出现两个相邻文本节点。为此,有一个方法可以合并相邻的文本节点。这......