Ubuntu/Linux nvm安装指定/多个版本/切换nodejs

编程教程 > WEB (755) 2024-12-09 19:13:29

由于某些原因需要安装低版本的nodejs,官方源直接安装基本都是某个大版本下的最新小版本,然不满足需求。

或者同一个机器需要多个版本的nodejs环境,反复横跳?

首先是安装nvm脚本工具(离线安装)

访问github下载脚本工具库

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

操作示例图-6a93dcdba5c948a4b9ea4014b31b3d02.png

直接下载zip包,然后上传到服务器上,解压后放在用户目录的.nvm目录下,完整路径参考

/home/ubuntu/.nvm

操作示例图-408abaeea9844c95b2360766707cee89.png

然后配置用户环境文件,在当前用户环境追加以下配置 vi ~/.bashrc

export NVM_DIR="/home/ubuntu/.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

 

刷新环境变量

source ~/.bashrc

查看nvm版本

ubuntu@VM-0-8-ubuntu:~/.nvm$ nvm -v
0.40.1

 

nvm安装nodejs指定版本(在线安装)

查看可以安装的版本:

nvm ls-remote
Ubuntu/Linux nvm安装指定/多个版本/切换nodejs_图示-9517235d9be34112b603059ed32249bc.png

特别提醒:查看可用版本与Windows版本有所区别

 

nvm install 18.20.4
Ubuntu/Linux nvm安装指定/多个版本/切换nodejs_图示-d1241f68085b424cbe23804e45f6ab8d.png

 

安装完成后通过命令查看

ubuntu@VM-0-8-ubuntu:~/.nvm$ nvm ls
->     v18.20.4
default -> 18.20.4 (-> v18.20.4)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.20.4) (default)
stable -> 18.20 (-> v18.20.4) (default)
lts/* -> lts/jod (-> 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.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.5 (-> N/A)
lts/iron -> v20.18.1 (-> N/A)
lts/jod -> v22.12.0 (-> N/A)

 

nodejs 版本查看

ubuntu@VM-0-8-ubuntu:~/.nvm$ node -v
v18.20.4

搞定

查看安装信息

ubuntu@VM-0-8-ubuntu:~$ cd .nvm/
ubuntu@VM-0-8-ubuntu:~/.nvm$ ll
total 344
drwxrwxr-x  8 ubuntu ubuntu   4096 Dec  9 18:26 ./
drwxr-x--- 15 ubuntu ubuntu   4096 Dec  9 18:23 ../
drwxrwxr-x  3 ubuntu ubuntu   4096 Dec  9 18:26 alias/
-rw-rw-r--  1 ubuntu ubuntu   2299 Nov  8 18:52 bash_completion
drwxrwxr-x  3 ubuntu ubuntu   4096 Dec  9 18:26 .cache/
-rw-rw-r--  1 ubuntu ubuntu   7560 Nov  8 18:52 CODE_OF_CONDUCT.md
-rw-rw-r--  1 ubuntu ubuntu   5817 Nov  8 18:52 CONTRIBUTING.md
-rw-rw-r--  1 ubuntu ubuntu   3600 Nov  8 18:52 Dockerfile
-rw-rw-r--  1 ubuntu ubuntu    155 Nov  8 18:52 .dockerignore
-rw-rw-r--  1 ubuntu ubuntu    658 Nov  8 18:52 .editorconfig
drwxrwxr-x  7 ubuntu ubuntu   4096 Dec  9 17:40 .git/
-rw-rw-r--  1 ubuntu ubuntu     19 Nov  8 18:52 .gitattributes
drwxrwxr-x  4 ubuntu ubuntu   4096 Nov  8 18:52 .github/
-rw-rw-r--  1 ubuntu ubuntu    277 Nov  8 18:52 .gitignore
-rw-rw-r--  1 ubuntu ubuntu    103 Nov  8 18:52 .gitmodules
-rw-rw-r--  1 ubuntu ubuntu    467 Nov  8 18:52 GOVERNANCE.md
-rwxr-xr-x  1 ubuntu ubuntu  16631 Nov  8 18:52 install.sh*
-rw-rw-r--  1 ubuntu ubuntu   1113 Nov  8 18:52 LICENSE.md
-rw-rw-r--  1 ubuntu ubuntu     51 Nov  8 18:52 .mailmap
-rw-rw-r--  1 ubuntu ubuntu   5440 Nov  8 18:52 Makefile
-rw-rw-r--  1 ubuntu ubuntu     19 Nov  8 18:52 .npmrc
-rwxr-xr-x  1 ubuntu ubuntu    371 Nov  8 18:52 nvm-exec*
-rwxr-xr-x  1 ubuntu ubuntu 149479 Nov  8 18:52 nvm.sh*
-rw-rw-r--  1 ubuntu ubuntu   2925 Nov  8 18:52 package.json
-rw-rw-r--  1 ubuntu ubuntu   2935 Nov  8 18:52 PROJECT_CHARTER.md
-rw-rw-r--  1 ubuntu ubuntu  48202 Nov  8 18:52 README.md
-rwxr-xr-x  1 ubuntu ubuntu   1235 Nov  8 18:52 rename_test.sh*
-rw-rw-r--  1 ubuntu ubuntu    882 Nov  8 18:52 ROADMAP.md
drwxrwxr-x 11 ubuntu ubuntu   4096 Nov  8 18:52 test/
-rw-rw-r--  1 ubuntu ubuntu   3676 Nov  8 18:52 .travis.yml
-rwxr-xr-x  1 ubuntu ubuntu   2478 Nov  8 18:52 update_test_mocks.sh*
drwxrwxr-x  3 ubuntu ubuntu   4096 Dec  9 18:26 versions/
ubuntu@VM-0-8-ubuntu:~/.nvm$ cd versions/node/v18.20.4/
ubuntu@VM-0-8-ubuntu:~/.nvm/versions/node/v18.20.4$ ll
total 884
drwxrwxr-x 6 ubuntu ubuntu   4096 Dec  9 18:26 ./
drwxrwxr-x 3 ubuntu ubuntu   4096 Dec  9 18:26 ../
drwxr-xr-x 2 ubuntu ubuntu   4096 Jul  8 22:12 bin/
-rw-r--r-- 1 ubuntu ubuntu 718849 Jul  8 22:12 CHANGELOG.md
drwxr-xr-x 3 ubuntu ubuntu   4096 Jul  8 22:12 include/
drwxr-xr-x 3 ubuntu ubuntu   4096 Jul  8 22:12 lib/
-rw-r--r-- 1 ubuntu ubuntu 116078 Jul  8 22:12 LICENSE
-rw-r--r-- 1 ubuntu ubuntu  37700 Jul  8 22:12 README.md
drwxr-xr-x 5 ubuntu ubuntu   4096 Jul  8 22:12 share/
ubuntu@VM-0-8-ubuntu:~/.nvm/versions/node/v18.20.4$ 
ubuntu@VM-0-8-ubuntu:~/.nvm/versions/node/v18.20.4$ pwd
/home/ubuntu/.nvm/versions/node/v18.20.4
ubuntu@VM-0-8-ubuntu:~/.nvm/versions/node/v18.20.4$ 

nvm 安装nodejs指定版本(离线安装)

从上面在线安装可以看到,nvm安装的版本存放于 nvm/versions/node/v版本号。所以离线安装只需要去官网下载对应的压缩包免安装版本上传即可。

官方历史版本:Index of /download/release/

以v20.9.0为例,找到下载地址

Ubuntu/Linux nvm安装指定/多个版本/切换nodejs_图示-159d6d9d9f1e4c4a89d091dcb339c632.png

选择tar.gz版本

下载:

wget https://nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64.tar.gz

下载后解压到version/node目录

tar -xvzf node-v20.9.0-linux-x64.tar.gz -C /home/ubuntu/.nvm/version/node

重命名目录

mv node-v20.9.0-linux-x64 v20.9.0

查看nvm里面的版本情况 nvm ls

Ubuntu/Linux nvm安装指定/多个版本/切换nodejs_图示-66b24849105545918ebbc522393b6fc8.png

切换并查看node版本

Ubuntu/Linux nvm安装指定/多个版本/切换nodejs_图示-caac49580fde4130a448f8ec3a2c5e38.png

nvm 其他命令参考

  • 查看当前已下载安装的版本:nvm ls
  • 切换到指定node版本[临时]:nvm use 12.20.1
  • 切换到指定node版本[佣金]:nvm use default 12.20.1
  • 删除某个版本:nvm uninstall 12.20.1

 

卸载脚本参考

#!/usr/bin/env bash
# Uninstall nvm wholly
# ---------------------------------------------------------------

echo "=> 删除~/.nvm"

rm -rf $HOME/.nvm

echo "=> 删除相关环境变量"

sed -i '/nvm config/d' "${HOME}/.bashrc"

sed -i '/This loads nvm/d' "${HOME}/.bashrc"

sed -i '/NVM_NODEJS_ORG_MIRROR/d' "${HOME}/.bashrc"

sed -i '/nvm config/d' "${HOME}/.zshrc"

sed -i '/This loads nvm/d' "${HOME}/.zshrc"

sed -i '/NVM_NODEJS_ORG_MIRROR/d' "${HOME}/.zshrc"

echo "=> 删除nvm-update"

sudo rm /usr/local/bin/nvm-update

echo "=> 卸载完成!"

uninstall.sh · RubyMetric/nvm-cn - 码云 - 开源中国 (gitee.com)

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Ubuntu/linux通过nvm工具安装指定版本/多个版本切换nodejs由于某些原因需要安装低版本的nodejs,官方源直接安装基本都是某个大版本下的最新小版本,然不满足需求。
nvm工具下载nvm gitub 地址:Releases · coreybutler/nvm-windows下载页面:Release v1.1.12 · cor
1.打开github nodejs源码地址GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions2....
环境说明下载的nodejs版本10.80安装nodejs后自带的npm版本为6.2.0npm环境说明 npm配置文件简介npm的配置文件为用户根目录下的:~/.
先安装nodejs然后全局安装pnpm工具npm install -g pnpm
CentOS 7 安装Nodejs 16 LTS版配置源以下操作基于root用户curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash ...
nodejs中http模块使用简单demo
java编程中使用nodejs的apidoc工具生成Java api美观的HTML文档,apidoc可以根据代码注释生成web api文档,支持大部分主流语言
什么是webpackWebpack是前端工程化工具。Webpack 作为老大哥,在前端社区也算站稳了脚跟,它提供了许多配置和插件,让开发者定制化构建项目。
Import Maps是一种针对web页面去控制imports行为的新方式,潜在地可以使你摈弃掉你的构建系统。当Es modules在Ecmascript 20
在初始化完一个vue项目(基于vue-cli 和webpack)之后,我们可以通过 npm run dev来让这个项目跑起来
[JAVA]_图文详解CKeditor4.4.X版本添加程序代码高亮插件codesnippet1.去CKeditor官网下载4.4.X及以上版本官网直通车:点击
vue打包会把vue相关的组件打包到一个文件vendor.*.js(*是个随机数)步骤一 资源引入vue最外层index.html文件引入资源文<body&gtl;     <di...
主流模块规范目前主流模块规范有:规范名称运行环境实现加载方式AMD(异步模块定义)客户端require.js异步CMD(通用模块定义)客户端sea.js异步Co
1.jQuery ajax$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, ...