Linux上如何安装和管理多版本Node.js?NVM如何配置?

你可以选择Yarm,但是短期内Node.js还是那个开发神器。Linux上如何安装Node.js?如何安装多版本Node.js,本次就拿Lighthouse演示如何安装

前言

我们构建一些项目,经常需要node.js(后文简称为node),且经常需要切换版本。如:

  • 构建Hexo需要Node支持,且目前支持性比较好的版本是v12
  • Vue开发环境需要Node支持(虽然也可以用Yarm,但是用Node还是主流)

所以,我们如果在Linux上需要用Node,应该如何配置呢?本文就带大家入门。

部署思路

Linux上安装Node其实很简单,以腾讯云轻量应用服务器的Linux为例。可以使用以下一键方法

Linux上如何安装和管理多版本Node.js?NVM如何配置?
腾讯云选择Node

但是这样的安装,一般只有单一版本的Node,如果需要切换版本就不方便了,比如:为编写Hexo,切换到v12.21的Node。

所以,我们一般是安装Node的管理器,方便进行版本切换:

  • 安装node下的n模块(没错,Express作者:TJ Holowaychuk的一个项目)
  • 安装NVM进行版本切换(推荐)

警告⚠️:十分不推荐使用NPM下,n模块来管理node版本

接下来的文章,我会先演示怎么一键安装单一版本Node,然后教大家怎么用NVM安装Node。如果你只需要一个最新版本的Node,那么只需要看如何一键安装即可;如果你需要安装多版本Node,那么可以根据目录直达NVM安装Node嗷~

包管理器安装Node

使用包管理器(软件包管理器)安装Node过于简单,我使用的是腾讯云轻量应用服务器的Debian10 Linux发行版本,所以包管理器为apt-get

本地使用SSH远程连接Linux后,输入命令:

# Debian/Ubuntu
sudo apt install nodejs npm
# Centos
sudo yum install nodejs
Linux上如何安装和管理多版本Node.js?NVM如何配置?
腾讯云轻量应用安装Debian

之后,即可“食用”最新版本的Node(Node.js)

如果想要卸载(反安装):

# Debian/Ubuntu
sudo apt remove nodejs npm
# Centos
sudo yum remove nodejs

NVM安装Node

本次教程,适用于Linux服务器(如:Debian、Centos),尤其适用于腾讯云轻量应用服务器的Debian、Ubuntu发行镜像版本

如果想依靠本文方法,安装Node到本地,macOS也同样适用本文方法(会有略微差异),Windows用户请自行使用NVM Windows版本:

配置前,请事先卸载你已经安装的Node版本和配置的环境变量,避免冲突。

NVM项目地址

首先,我们进入NVM的项目地址:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
NVM项目地址

官网提供了一件脚本的安装配置,但是我个人喜欢手动配置,并且NVM配置相当简单。如果你希望使用官网的一件配置,在SSH远程Terminal内输入:

# 安装v0.38.0版本NVM(通过curl下载脚本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
# 安装v0.38.0版本NVM(通过wget下载脚本)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

之后,配置内容到环境变量即可(可以看看后文),我先着重讲解如何手动配置。

手动配置NVM

同步仓库

首先,我们在SSH远程Terminal内输入命令进入“家”目录($HOME):

cd ~

之后,下载NVM源码,并重命名为.nvm(方便让我们认出是环境变量文件):

# 下载源码
git clone https://github.com/nvm-sh/nvm.git
# 重命名为.nvm
mv nvm .nvm

如果你出现,GitHub相应失败,比如:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
GitHub相应失败

那么,你可以试试使用Gitee的镜像仓库:

# 使用Gitee的NVM镜像仓库
git clone https://gitee.com/mirrors/nvm.git

配置环境变量

我们安装好NVM以后,我们需要配置到环境变量:

# Bash Shell用户
vim ~/.profile
# ZSH Shell用户
vim ~/.zshrc

我的腾讯云轻量应用服务器,安装了ZSH Shell,所以配置~/.zshrc,一般没有直接安装ZSH的,默认都是Bash嗷。

在环境变量内,追加:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Linux上如何安装和管理多版本Node.js?NVM如何配置?
追加环境变量

之后,按ESC再输入:wq保存并退出vim的编辑模式,这个时候,我们再重载环境变量即可:

# Bash Shell用户
source ~/.profile
# ZSH Shell用户
source ~/.zshrc

这个时候,输入nvm即可看到效果:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
nvm安装成功

使用NVM安装Node.js

最后,怎么使用NVM安装Node.js呢?很简单,也是一条命令:

# 国内连接NVM/Node服务器比较忙,临时使用腾讯软件源代替
export NVM_NODEJS_ORG_MIRROR=https://mirrors.cloud.tencent.com/nodejs-release/
# 下载Node.js 12.21版本
nvm install 12.21
Linux上如何安装和管理多版本Node.js?NVM如何配置?
nvm安装Node.js

这样就安装Node完成了,我们还可以使用NVM命令和Node.js命令查看:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
查看已经安装的Node.js版本

如何版本切换

这个很简单,如果我们同时安装一下版本node.js:

  • v12.21.0
  • v14.17.1
Linux上如何安装和管理多版本Node.js?NVM如何配置?
已经安装了两个版本的node

这个时候,->所指的地方即为当前激活的版本,我们要切换到其他版本,只需要:

# 切换node.js版本到12.21
nvm use 12.21
Linux上如何安装和管理多版本Node.js?NVM如何配置?
切换node.js版本

可以说,NVM十分方便

Node.js使用

Hexo博客

这个时候,我们就可以使用Node.js了,比如:文章开头说的12.21版本构建Hexo:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
Node.js构建的Hexo

VUE

甚至,你可以用腾讯云轻量应用服务器去构建VUE工程开发(不过还要安装一个网页端的文本编辑器,不然vim手改……实在是太抽象了):

Linux上如何安装和管理多版本Node.js?NVM如何配置?
node.js构建vue

当然,你最好还安装一个VNC,最好还安装了novnc(网页版本VNC),方便移动端预览网页:

Linux上如何安装和管理多版本Node.js?NVM如何配置?
noVNC查看服务器运行的VUE项目

什么?你还不知道怎么搭建VNC?快看看这篇文章:

总结

Node.js的安装就讲到这边,很多人觉得Node.js只是一个前端框架,这样说也没错,但是其实它不仅仅只能做个前端网页而已。有机会给大家分享更多有意思的东西。下次?要不要讲讲Vue、Bootstrap这样真正的前端呢?还是讲解Linux的具体实际使用呢?

欢迎评论区留言告诉我们你的想法💡,说不定下次就分享你所感兴趣的领域。

作者:Mintimate

Mintimate’s Blog:https://www.mintimate.cn

本文来自腾讯云计算社区,转载请注明出处:https://computeinit.com/archives/3668

发表评论

登录后才能评论

评论列表(4条)

  • Rocketer
    Rocketer 2021年7月1日 11:35

    针不戳

  • yazoox
    yazoox 2021年7月1日 12:00

    香港的轻量都买不到了

    • Mintimate
      Mintimate 2021年7月1日 14:56

      @yazoox嗯……问了一下腾讯云轻量官方,七月中旬应该会补货嗷(毕竟618刚过,都卖光了~)

交流群