关注「开源Linux」,选择“设为星标”

回复「学习」,有我为您特别筛选的学习资料~

NodeJS是一个开源,跨平台,轻量级的JavaScript运行时环境,可用于构建可扩展的网络应用程序。它是基于Chrome的V8 JavaScript引擎构建的快速高效的服务器端软件。最初,JavaScript主要用于客户端脚本。但是,Nodejs使JavaScript可以用于服务器端脚本,并在服务器端运行脚本以生成动态网页。另一个值得注意的事情是Nodejs有一个名为npm的命令行实用程序,它是一个软件包管理器,用于安装,管理nodejs库和应用程序。Nodejs软件包生态系统是世界上最大的开源库生态系统。在本教程中,我们将看到如何在流行的Linux操作系统(包括Arch Linux,Debian,Ubuntu,RHEL,CentOS,Fedora等)上安装Node.js。

在Linux上安装NodeJS

有很多安装Nodejs的方法。在这里,我列出了3种方法。

建议第一种方法安装Nodejs。特别是,第一种方法是在全局安装软件包时避免权限问题的最佳方法

第二种方法适用于想要使用稳定的NodeJS版本的用户。

并且,第三个也是最后一个方法描述了如何从源代码安装Node.js。这适合那些想要获得最新的nodejs版本的人。

1、使用NVM在Linux上安装Nodejs(推荐方法)

这是推荐的安装Nodejs的方法。此外,这是避免权限问题的最佳方法。NVM(Node版本管理器)是用于管理多个Node.js版本的bash脚本。它允许我们安装,卸载node.js,以及从一个版本切换到另一个版本。好消息是,我们可以使用NVM安装到我们选择的任何可用Node.js版本。

要安装nvm,请使用此处的最新安装脚本。

linuxmi@linuxmi:~/www.linuxmi.com$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

或者

linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

上面的命令会将nvm存储库克隆到 ~/.nvm,并将源代码行添加到您的配置文件中(~/.bash_profile,~/.zshrc,~/.profile或~/.bashrc)。

输出如下:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload Upload Total Spent Left Speed
100 13527 100 13527 0 0 2928 0 0:00:04 0:00:04 --:--:-- 2928
=> Downloading nvm from git to '/home/linuxmi/.nvm'
=> 正克隆到 '/home/linuxmi/.nvm'...
remote: Enumerating objects: 316, done.
remote: Counting objects: 100% (316/316), done.
remote: Compressing objects: 100% (268/268), done.
remote: Total 316 (delta 36), reused 135 (delta 23), pack-reused 0
接收对象中: 100% (316/316), 169.68 KiB | 37.00 KiB/s, 完成.
处理 delta 中: 100% (36/36), 完成.
=> Compressing and cleaning up git repository => Appending nvm source string to /home/linuxmi/.bashrc
=> Appending bash_completion source string to /home/linuxmi/.bashrc
=> 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之前,请重新启动终端一次。如果您使用的是SSH,请退出当前会话,然后再次登录。

要验证是否已安装NVM,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ command -v nvm

输出如下:

nvm

如果安装成功,它将输出“nvm”。

如下图:

现在,我们可以安装Nodejs和npm。

首先,运行以下命令以查看可用Nodejs版本的列表:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm ls-remote

       ......
v14.13.1
v14.14.0
v14.15.0 (LTS: Fermium)
v14.15.1 (LTS: Fermium)
v14.15.2 (LTS: Fermium)
v14.15.3 (LTS: Fermium)
v14.15.4 (LTS: Fermium)
v14.15.5 (Latest 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

要安装/更新到最新的Nodejs版本,只需运行:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm install node

在撰写/更新本指南时,最新版本为15.8.0。

1.1、 安装特定的Node版本

您还可以安装选择的任何特定版本,例如v12.20.2,如下所示。

linuxmi@linuxmi:~/www.linuxmi.com$ nvm install v12.20.2

同样,您可以安装任意数量的所需版本。

要查看已安装的Nodejs版本的列表,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm list

linuxmi@linuxmi:~/www.linuxmi.com$ nvm list
v12.20.2
-> v15.8.0
default -> node (-> v15.8.0)
node -> stable (-> v15.8.0) (default)
stable -> 15.8 (-> v15.8.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/fermium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.23.3 (-> N/A)
lts/erbium -> v12.20.2
lts/fermium -> v14.15.5 (-> N/A)

上面输出中的箭头标记显示默认节点版本。如您在上面的输出中看到的,我已经安装了15.8.0。

1.2、检查已安装的节点版本

要查看当前安装的默认Nodejs版本,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ node --version

或者

linuxmi@linuxmi:~/www.linuxmi.com$ node -v

输出如下:

v15.8.0

检查npm版本:

linuxmi@linuxmi:~/www.linuxmi.com$ npm -v

输出如下:

7.5.1

如下图:

1.3、在不同的node版本之间切换

如果安装了多个版本,则可以在不同的Nodejs版本之间进行切换,如下所示。

linuxmi@linuxmi:~/www.linuxmi.com$ nvm use node

或者你可以更具体地运行它:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm run node v12.20.2

1.4、设置默认的node版本

要将特定的Nodejs版本设置为默认版本,请运行:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm alias default v12.20.2

输出如下:

default -> v12.20.2

1.5、删除Node

在删除Node之前,首先使用以下命令确定您要删除的版本是否为当前活动版本:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm current

如果它不是当前活动的版本,只需使用命令将其删除:

nvm uninstall <node_version>

示例如下:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm uninstall v12.20.2

如果您尝试使用以下命令删除当前处于活动状态的版本:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm uninstall node

您将看到类似以下的错误:

nvm: Cannot uninstall currently-active node version, v12.20.2 (inferred from v12.20.2).

您必须首先使用以下命令停用nvm:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm deactivate

然后尝试卸载node:

linuxmi@linuxmi:~/www.linuxmi.com$ nvm uninstall node

输出如下:

linuxmi@linuxmi:~/www.linuxmi.com$ Uninstalled node v12.20.2

2、使用发行版的程序包管理器在Linux上安装Nodejs(稳定,但版本已过时)

大多数Linux发行版的默认存储库中都提供Nodejs。它可能不是最新版本,但很稳定。如果要在Linux上安装稳定的Node.js,最好使用发行版的软件包管理器进行安装,如下所示。

在Arch Linux及其衍生版本(如Antergos,Manajaro Linux)上,运行以下命令进行安装:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S nodejs npm

在Debian,Ubuntu和Linux Mint上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install nodejs npm

在RHEL,CentOS上,您需要首先启用EPEL存储库。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum install epel-release

然后,使用以下命令安装Nodejs:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum install nodejs npm

在Fedora上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install nodejs npm

注意:由于默认存储库中的软件包已过期,因此当您尝试使用npm安装任何NodeJS模块时,将出现以下错误。

/usr/bin/env: ‘node’: No such file or directory

要解决此错误,您需要创建符号链接,如下所示。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo ln -s /usr/bin/nodejs /usr/bin/node

3、从NodeSource在Linux上安装Nodejs

就像我已经说过的那样,nodejs在默认存储库中可用,但是可能有点过时了。要安装最新版本,请从NodeSource安装最新版本。

如图所示,根据您使用的Linux发行版添加最新的Nodejs存储库。

在Ubuntu和衍生产品上:

添加NodeJs 15.x存储库:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash

Nodejs 14.x存储库:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

Nodejs 12.x:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

Nodejs 10.x:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

对于Nodejs 8.x:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

添加存储库后,使用以下命令安装Node.js:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install nodejs npm

在RHEL上,CentOS:

Nodejs 15.x:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://rpm.nodesource.com/setup_15.x | sudo bash -

Nodejs 14.x:

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

NodeJS 12.x

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -

NodeJS 10.x

linuxmi@linuxmi:~/www.linuxmi.com$ curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -

然后使用以下命令安装Nodejs:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum install nodejs npm

对于Fedora,请遵循上述相同的说明。

安装构建工具(可选)

要从npm存储库编译并安装本机插件,您可能还需要安装构建工具。

要在Debian,Ubuntu发行版上安装构建工具,请运行以下命令:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install -y build-essential

在基于RHEL的系统上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum groupinstall 'Development Tools'

在Fedora上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf groupinstall 'Development Tools'

就这样。您现在知道了如何在Linux发行版上安装Nodejs。如您所见,安装Nodejs非常简单。任何人都可以在几分钟内安装和设置Nodejs。

资源:

  • Node.js网站

  • NVM GitHub存储库

  • NodeSource网站

原图及下载见原文:https://www.linuxmi.com/linux-anzhuang-nodejs.html

关注「开源Linux」加星标,提升IT技能

Linux下安装部署NodeJS完整步骤的更多相关文章

  1. linux下安装部署ansible

    linux下安装部署ansible 介绍 Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中sal ...

  2. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

  3. LINUX下安装搭建nodejs及创建nodejs-express-mongoose项目

    在Ubuntu中按CTRL+ALT+T打开命令窗口,按下面步骤和命令进行安装即可.添加sublime text 3的仓库.1.sudo add-apt-repository ppa:webupd8te ...

  4. linux下安装部署环境:jdk、tomcat、nginx

    一.安装jdk 一.查看Linux自带的JDK是否已安装 1.查看已经安装的jdk: # rpm -qa|grep jdk                ← 查看jdk的信息或直接执行 或 # rpm ...

  5. 今日Linux下安装部署禅道

    我的linux系统是在虚拟机上安装的Ubuntu,禅道在官网www.zentao.net下载安装的开源版的linux64位,采用一键安装包安装.安装前要求:系统上不能有自己安装的mysql .下载的安 ...

  6. Linux下安装Java环境配置步骤详述

    0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对 ...

  7. Linux下安装软件的一般步骤

    目录 一.解析Linux应用软件安装包 二.了解包里的内容 三.搞定使用tar打包的应用软件 四.搞定使用rpm打包的应用软件 五.搞定使用deb打包的应用程序 一.解析Linux应用软件安装包(回目 ...

  8. Windows 7下安装部署NodeJs

    第一步  安装NodeJs http://nodejs.org/download/ 下载windows版本的msi文件,双击进行安装即可.安装完毕,默认安装路径为C:\Program Files\no ...

  9. Linux下安装jdk8的详细步骤

    一.登录Linux,切换到root用户 sudo su 二.在usr目录下建立java安装目录 cd /usr mkdir java 三.下载jdk 登录网址:http://www.oracle.co ...

随机推荐

  1. 什么是 Hystrix 断路器?我们需要它吗?

    由于某些原因,employee-consumer 公开服务会引发异常.在这种情况下使用Hystrix 我们定义了一个回退方法.如果在公开服务中发生异常,则回退方法返回一些默认值. 如果 firstPag ...

  2. 关于kafka客户端版本与服务端版本不一致导致的一次坑

    上周开发了一个功能,需要使用kafka接上游数据并入库,本地开发时,自己安装了一个kafka服务,开发测试时使用本地的kafka服务给主题发消息,然后在自己本地的代码中进行调试.使用的kafka版本如 ...

  3. 小米手机BL解锁连接不上手机

    解锁工具下载页面:http://www.miui.com/unlock/download.html 线刷工具下载页面:http://www.miui.com/shuaji-393.html 额外注意说 ...

  4. Numpy实现机器学习交叉验证的数据划分

    Numpy实现K折交叉验证的数据划分 本实例使用Numpy的数组切片语法,实现了K折交叉验证的数据划分 背景:K折交叉验证 为什么需要这个?在机器学习中,因为如下原因,使用K折交叉验证能更好评估模型效 ...

  5. Numpy对数组按索引查询

    Numpy对数组按索引查询 三种索引方法: 基础索引 神奇索引 布尔索引 基础索引 一维数组 和Python的List一样 二维数组 注意:切片的修改会修改原来的数组 原因:Numpy经常要处理大数组 ...

  6. vue入门文章

    本来想自己写一篇关于vue入门的文章.但是看到链接的文章后,觉得写得太详细了,实在有保存下来的必要.后面可能在这篇文章基础上,有所内容的增加. CSS预处理器 定义了一种新的专门的编程语言,编译后成正 ...

  7. 浅谈JavaScript原型与原型链

    对于很多前端开发者而言,JavaScript的原型实在是很让人头疼,所以我这边就整理了一下自己对应原型的一点理解,分享给大家,供交流使用 原型 说起原型,那就不得不说prototype.__proto ...

  8. 一个html标签到底包含了多少信息(1)

    先来看一段代码: var dom = document.querySelector('body'); for(var i in dom){ console.log(i,dom[i]) } 可以看到很多 ...

  9. .NET程序设计实验三

    实验三  Windows 应用程序开发 一.实验目的 1. 掌握窗口控件的使用方法: 2. 掌握Windows 的编程基础. 二.实验要求 根据要求,编写 C#程序,并将程序代码和运行结果写入实验报告 ...

  10. 【Android开发】Coding + git命令行基本使用

    上传代码 进入本地仓库的目录. cd ... 查看仓库链接 : git remote -v 如果没有,则添加url链接 : git remote add testName https://git.co ...