Ubuntu安装Node.js和npm

2020-12-08 11:51:54

参考地址 如何在Ubuntu 20.04上安装Node.js和npm

Node.js是基于Chrome的JavaScript构建的跨平台JavaScript运行时环境,npm是Node.js的默认程序包管理器,也是世界上最大的软件注册表。本篇文章展示了三种在Ubuntu 20.04服务器上安装Node.js和npm的方法。


Node.js是基于Chrome的JavaScript构建的跨平台JavaScript运行时环境,旨在在服务器端执行JavaScript代码。它通常用于构建后端应用程序,但也作为全栈和前端解决方案而流行。npm是Node.js的默认程序包管理器,也是世界上最大的软件注册表。

在本教程中,我们将探讨在Ubuntu 20.04上安装Node.js和npm的三种不同方式:

  • 来自标准的Ubuntu存储库。这是在Ubuntu上安装Node.js和npm的最简单方法,对于大多数用例来说应该足够了。Ubuntu存储库中包含的版本是10.19.0

  • 从NodeSource存储库。如果要安装与Ubuntu存储库中提供的版本不同的Node.js版本,请使用此存储库。目前,NodeSource支持Node.js的v14.xv13.xv12.x,和v10.x

  • 使用nvm(节点版本管理器)。该工具允许您在同一台计算机上安装多个Node.js版本。如果您是Node.js开发人员,那么这是安装Node.js的首选方式。

选择适合您的环境的安装方法。如果不确定要安装哪个Node.js版本,请查阅要部署的应用程序的文档。

从Ubuntu存储库安装Node.js和npm

在撰写本文时,Ubuntu 20.04存储库中包含的Node.js版本10.19.0是以前的TLS版本。

安装非常简单。运行以下命令以更新软件包索引并安装Node.js和npm:

sudo apt update
sudo apt install nodejs npm

上面的命令将安装许多软件包,包括从npm编译和安装本机插件所需的工具。

完成后,通过运行以下命令验证安装:

nodejs --version

输出:

v10.19.0

从NodeSource安装Node.js和npm

NodeSource是一家致力于提供企业级Node支持的公司。它维护一个包含多个Node.js版本的APT存储库。如果您的应用程序需要特定版本的Node.js,请使用此存储库。

在撰写本文时,NodeSource存储库提供以下版本:

  • v14.x-最新的稳定版本。

  • v13.x

  • v12.x-最新的LTS版本。

  • v10.x-先前的LTS版本。

我们将安装Node.js版本14.x:

1.以具有sudo特权的用户身份运行以下命令,以下载并执行NodeSource安装脚本:

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

该脚本会将NodeSource签名密钥添加到您的系统,创建apt储存库文件,安装所有必需的软件包,并刷新apt缓存。

如果需要其他的Node.js版本,比如12.x,改变setup_14.xsetup_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(节点版本管理器)是一个bash脚本,可让您基于每个用户管理多个Node.js版本。使用NVM,您可以安装和卸载要使用或测试的任何Node.js版本。

访问nvm GitHub存储库页面并复制curlor wget命令以下载并安装nvm脚本:

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

不要使用sudo它,因为它将nvm为root用户启用。

该脚本会将项目的存储库从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会话。您可以做对自己更轻松的事情。

将脚本放入您的中后PATHnvm输入以下命令来验证该脚本是否已正确安装:

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

让我们再安装两个版本,即最新的LTS版本和version 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版本。


  • 2019-05-18 12:37:39

    Android夜间模式的实现方案

    对于一款阅读类的软件,夜间模式是不可缺少的。最初看到这个需求时候觉得无从下手,没有一点头绪。后来通过查阅资料发现Android官方在Support Library 23.2.0中已经加入了夜间主题。也就是只需要通过更换主题便可实现日间模式和夜间模式的切换。下面截取项目实现的夜间模式效果图:

  • 2019-05-18 12:38:41

    android 快速实现夜间模式

    最近项目中遇到了一个问题,夜间模式在8.0以上的手机中不起作用,查看了一下原因,是夜间模式实现方法的问题。分两种情况介绍一下

  • 2019-05-18 12:40:35

    Android夜间模式的几种实现

    通过增加一层遮光罩来实现。效果不是很理想,但是好用,毕竟很多手机都有自己的夜间模式了

  • 2019-05-19 02:25:15

    php使用TCPDF生成PDF文件教程

    orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。 Landscape为横式打印,Portrait为纵向打印

  • 2019-05-21 11:46:05

    RecyclerView 加动画的坑

    然后加到recyclerView上,我是在adapter上加的。Adapter的holder复用相信大家也都很熟悉了,这个在绘制效率的提高上很重要,也很容易发现一个问题,就是内容混乱的复用。所以常见的处理就是对view加上tag来多次判断,对于visibility之类的设置一定是if...else的写法,光有if是不可以的。

  • 2019-05-21 11:54:10

    Android中如何设置字体大小

    首先要强调一点,某些用户可能存在视力障碍甚至几近失明,他们无法顺利阅读一般尺寸下的文字内容。Android操作系统意识到了这些情况,并提供了一套显示辅助功能,使得用户可以根据自己的使用习惯随意缩放设备中文本字体的大小。 要在设备上修改字体设定,首先启用“设定”应用,然后选择“显示”项下的“字体尺寸”。用户可以在设备预置的四种文本字体尺寸中选择适合自己的方案(包含小、正常、大、超大),详见图一。

  • 2019-05-21 12:34:38

    浅谈Recycleview嵌套卡顿 以及你所不知道的解决方案

    由于项目需要,需要做到recycleview 这里先不讲如何用其他控件代替这种嵌套的方式 先假定你已经嵌套了 老板还不给时间给你给布局方式 那么这个时候你的这个嵌套列表 必定是卡顿的 只要超过一屏,展示效果会有卡顿现象,原因就是由于两个RecyclerView的存在,使得滑动的view滑出当前屏幕的释放存在冲突

  • 2019-05-21 12:35:54

    RecyclerView setHasFixedSize(true)的意义

    设置为true,再调用notifyDataSetChanged(),发现大小重新计算了,看来理解出现错误了。还是再看一下哪些地方用到这个mHasFixedSize吧。

  • 2019-05-21 12:37:34

    RecyclerView 刷新闪烁

    闪烁是 notifyDataSetChange 造成的。由于适配器不知道整个数据集中的哪些内容已经存在,在重新匹配 ViewHolder 时发生的。 当然,遇到这个问题时有去搜索一些答案,看到的很多都是去禁止 RecycleView 的默认动画,可惜这对我没什么用。下面的方法是对我有用的。