当前位置: 首页 > news >正文

Node.js版本管理工具 || 全配置安装

在进行Node.js开发的时候常常需要在各种版本之间来回切换,还需要适配服务器上的node.js版本,所以一个优秀的node版本管理工具就显得十分重要,下面对比几种主流的版本管理工具以及介绍其安装配置

NVM

介绍

NVM,全称 Node Version Manager。简单来说,它允许您在同一台计算机上安装、切换和管理不同版本的 Node.js。

NVM 的本质就是一个 Shell 脚本,通过修改当前 Shell 的 PATH 环境变量来工作。

它在 macOS 和所有 Linux 发行版上原生工作。而对于 Windows 用户,有一个功能相似但由不同社区维护的独立项目 nvm-windows(适用于 Windows 的 nvm-windows 不是一个 Shell 脚本。它是一个完全独立的项目,是用 Go 语言编写的、编译好的二进制可执行程序)。

安装

对于MAC和Linux使用安装脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

或者

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

不出意外运行完成后重新启动终端就完成安装了,或者运行source ~/.bashrc手动加载配置文件就完成安装了,安装完成后运行command -v nvm出现nvm就表示安装成功了。

但是常常是会出意外的,最常见的原因是网络连接问题,不能够访问到Github服务器,对于网络问题下面推荐一种方法用于安装

1.下载原始安装文件,从GitHub官网下载或者我下载上传的资源https://download.csdn.net/download/2301_79442295/91765952

2.解压到文件夹~/.nvm(可以先创建文件夹再解压进去,注意路径,容易出现解压后里面还有一层文件夹),解压后如图
1

3.配置文件
打开文件

nano /root/.bashrc

将下面放入文件底部保存

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

Ctrl+X+Y+Enter保存然后重载配置文件source ~/.bashrc,运行验证command -v nvm理论上能够看到输出nvm,说明下载安装完成
在这里插入图片描述

4.配置源(下面以淘宝源为例):

echo 'export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/' >> ~/.bashrc
source ~/.bashrc

配置npm源:

npm config set registry https://registry.npmmirror.com

然后下载最新的nodejs版本试试:

nvm install --lts

在这里插入图片描述

OK

对于Windows安装

对于Windows安装nvm就简单多了,同样官网或上传的资源https://download.csdn.net/download/2301_79442295/91765952下载安装包,推荐nvm-setup.exe,正常流程安装就可以了。

然后配置:运行nvm root查看安装文件位置,然后进入文件夹后看到有settings.txt,打开配置最后两行为源:
在这里插入图片描述
在这里插入图片描述

常用命令

命令 完整写法 描述和示例
nvm install <version> nvm install <version> 安装指定版本的 Node.js。
• nvm install 18.17.0:安装精确版本。
• nvm install 18:安装 18.x 系列的最新版本。
• nvm install node:安装最新的稳定版 (node 是 current 的别名)。
nvm install --lts nvm install --lts 安装最新的 LTS (长期支持) 版本。
nvm use <version> nvm use <version> 在当前 Shell 中切换到指定版本。
• nvm use 16.20.1:切换到指定版本。
• nvm use --lts:切换到已安装的最新 LTS 版本。
nvm uninstall <version> nvm uninstall <version> 卸载一个指定的版本。
• nvm uninstall 14.17.0

用于查看可用的和已安装的 Node.js 版本。
命令 完整写法 描述和示例
nvm ls nvm list 列出所有本地已安装的 Node.js 版本。当前使用的版本会有一个箭头 -> 指示。
• nvm ls
nvm ls-remote nvm list-remote 列出所有可供远程安装的 Node.js 版本(列表非常长)。
• nvm ls-remote:列出所有版本。
• nvm ls-remote --lts:只列出所有 LTS 版本。
• nvm ls-remote 18:列出所有 18.x 系列的远程版本。
nvm current nvm current 显示当前正在使用的 Node.js 版本。

用于设置和管理版本的别名,简化切换操作。

命令 完整写法 描述和示例
nvm alias <name> <version> nvm alias <name> <version> 为指定的版本创建一个别名。
• nvm alias my-project 14.17.0:之后可以用 nvm use my-project 来切换。
nvm unalias <name> nvm unalias <name> 删除一个已经创建的别名。
• nvm unalias my-project
nvm alias default <version> nvm alias default <version> 设置默认的 Node.js 版本。每次打开新的终端窗口时,都会自动使用这个版本。
• nvm alias default 18.17.0

用于在特定 Node.js 版本下执行命令或查找路径。
命令 完整写法 描述和示例
nvm run <version> [args] nvm run <version> [args] 使用指定版本的 Node.js 来执行命令,而不切换当前 Shell 的版本。
• nvm run 14.17.0 --version:用 v14.17.0 的 node 程序输出其版本号。
• nvm run 16.20.1 my-script.js:用 v16.20.1 运行脚本。
nvm exec <version> <command> nvm exec <version> <command> 在子 Shell 中切换到指定版本并执行命令。这对于需要设置环境的复杂命令很有用。
• nvm exec 18.17.0 npm install
nvm which <version> nvm which <version> 显示指定版本的 node 可执行文件的安装路径。
• nvm which 18.17.0

.nvmrc 文件相关
用于项目级别的版本锁定。
命令 描述和示例
nvm use 在一个包含 .nvmrc 文件的目录中,此命令会自动读取文件内容并切换到指定的 Node.js 版本。
nvm install 在一个包含 .nvmrc 文件的目录中,如果文件中指定的 Node.js 版本尚未安装,此命令会自动下载并安装它,然后切换过去。

用于管理 NVM 工具本身。
命令 完整写法 描述和示例
nvm --version nvm --version 显示当前安装的 NVM 的版本号。
nvm deactivate nvm deactivate 在当前 Shell 中禁用 NVM,将 node 命令还原为系统预装的版本(如果存在的话)。
nvm unload nvm unload 从 Shell 中卸载 nvm 函数和相关配置。需要重启 Shell 才能再次使用。
nvm set-colors <color_codes> nvm set-colors <color_codes> 自定义 nvm ls 输出的颜色。

包管理
命令 完整写法 描述和示例
nvm reinstall-packages <version> nvm reinstall-packages <version> 将在 <version> 版本中安装的全局 npm 包,在当前使用的版本中重新安装一遍。这在切换版本后迁移全局工具时非常有用。
• 假设当前使用的是 v18,想把之前 v16 的全局包安装过来:nvm reinstall-packages 16

Volta

Volta 是一个零配置、高性能的JS工具管理器,专为 Node.js、npm、yarn 及全局包的版本管理设计。同时具有跨平台支持的能力。

虽说使用Rust编写启动和切换速度快10倍,但是在实际使用中其实不太在意速度,但是其方便快捷,无需记忆命令,只需要打开项目文件然后Volta install就能够方便切换到项目使用的版本。

安装方式十分简单,进入官网运行命令即可安装:

#Unix/macOS
curl https://get.volta.sh | bash
#Windows
winget install Volta.Volta

可看官网:https://zh.voltajs.com/guide/getting-started.html

asdf

asdf相较于Volta更受欢迎,采用Go进行编写,其不仅仅能够进行nodejs包管理,还支持Ruby、Elixir、Erlang等100多种语言和工具,可以说十分强大,非常适合全栈的程序猿。
但是单从nodejs版本管理来说其可能不如nvm或者是Volta。
不支持Windows

可以通过官网进行下载安装配置:https://asdf-vm.com/zh-hans/guide/getting-started.html

fnm

fnm是完全原生支持 Windows 的 Node.js 版本管理工具,无需 WSL 或其他虚拟化技术。

可以参考官网:https://fnm.nodejs.cn/docs/

安装:

# 使用 Windows 包管理器,慢的离谱
winget install Schniz.fnm

基本命令:

# 安装 Node.js 版本
fnm install 20.0.0
fnm install lts          # 安装最新 LTS 版本
fnm install latest        # 安装最新版本# 切换版本
fnm use 20.0.0           # 临时切换
fnm default 20.0.0       # 设置默认版本# 列出版本
fnm list                 # 显示已安装版本
fnm list-remote          # 显示可安装版本# 卸载版本
fnm uninstall 18.18.0

综上,还是nvm好用

http://www.dtcms.com/a/362114.html

相关文章:

  • Claude AI 因编写勒索软件和开展勒索活动而被滥用
  • Agent落地元年:谁在成为最坚实的土壤?
  • 【前端】跨域
  • 懒加载详细讲解
  • 在Linux系统上第一次创建java项目并运行
  • `[特殊字符]LeetCode每日一题 1792. 最大平均通过率(打卡第一天)`
  • 在 React Native 层禁止 iOS 左滑返回(手势返回/手势退出)
  • Unity 串口通讯2 硬件SDK 开发[数据监听,按键监听]
  • 人工智能——课程考核
  • Python OpenCV图像处理与深度学习:Python OpenCV图像几何变换入门
  • 线程池发生了异常该怎么处理?
  • Groovy 的核心语法
  • 计算机视觉与深度学习 | 传统图像处理技术的未来发展前景分析
  • 算法练习——169.多数元素
  • 焦耳热技术助力顶刊研究:薄层质子交换膜实现高效水电解制氢
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第八章知识点问答(18题)
  • 在工业质检中,机器视觉与人工检测的决策依据
  • Java类加载机制
  • 亚马逊云代理商:如何选择适合的AWS EC2实例类型?
  • ARM-SPI屏幕案例
  • 1. 叙述与命题
  • 【开题答辩全过程】以 基于JSP的养生网站设计与实现为例,包含答辩的问题和答案
  • 在JAVA中Mybatis的使用
  • GitHub每日最火火火项目(9.1)
  • TDengine 日期时间函数 DAYOFWEEK 使用手册
  • shell编程基础入门-3
  • 人工势场法(APF)路径规划 MATLAB
  • 战略进阶——解读92页培训_战略+概述与基本框架麦肯锡【附全文阅读】
  • 一个好的智能体框架应该是什么样子
  • Transformer的并行计算与长序列处理瓶颈总结