使用volta自动切换node版本

2,002 阅读5分钟

volta

背景

在开发公司项目是,老项目使用的是16.18.0,新项目有的使用18X或其他版本,目前电脑上使用的是nvm,正在切换项目的使用需要手动切换,如果项目没有标注 版本号那么只能看报错或者一个个的验证,总起来不太方便。

介绍

使用 Volta,您可以一次选择 Node 引擎,然后不再担心它。您可以在项目之间切换,而不必手动切换 nodejs 版本 比nvs,nvm要方便一些。

volta具有以下特点:

  1. 速度
  2. 无缝,每个项目的版本切换
  3. 跨平台支持,包括 Windows 和所有 Unix shell
  4. 支持多个包管理器
  5. 稳定的工具安装-无需每次升级都重新安装!
  6. 可扩展性挂钩用于特定于站点的定制

安装

安装vlota

下载地址 github.com/volta-cli/v…

image-20240829103420583

下载msi安装包直接安装就可以,会默认安装到c盘

修改安装位置

在安装nodenpm的时候会安装到安装目录的某个文件夹下面,因此我们转移安装目录

  1. 在X盘自己创建一个存放volta的文件夹,我这里是D:\develop\volta

  2. C:\Users\用户名\AppData\Local\Volta复制到D:\develop\volta

  3. C:\Program Files\Volta复制到D:\develop\volta

  4. 修改系统变量

    1. win键+R打开运行窗口 输入 sysdm.cpl 打开环境变量设置

      image-20240829103915513

    2. 新建系统变量VOLTA_HOME如下图,变量值是刚才创建的目录 我这边是在创建的目录里面又创建了一个Volta文件夹

      image-20240829104109025

    3. 修改系统变量中的path,替换volta的默认安装位置

      image-20240829104326024

    4. 修改用户环境变量的path

      image-20240829104449315

打开终端,输入volta

image-20240829104530016

修改node、npm安装连接

使用volta安装node@16.18.0的命令是volta install node@18.16.0

安装npm的命令是volta install npm@8.19.2

如果安装失败就现需要配置hooks

image-20240829105051169

原因是因为默认情况下,Volta 从公共源和注册表 (nodejs.orgyarnpkg.comwww.npmjs.com) 获取 Node、npm 和 Yarn。但是,根据您的环境,可能需要告诉 Volta 从其他源下载(例如,用于内部工具的 npm Enterprise)

找到安装目录,在目录下面创建hooks.json文件

ps 注意我的安装目录比上面的说的多了一层 Volta

image-20240829105227014

内容是

{
    "node": {
        "index": {
            "template": "https://mirrors.cloud.tencent.com/nodejs-release/index.json"
        },
        "distro": {
            "template": "https://mirrors.cloud.tencent.com/nodejs-release/v{{version}}/node-v{{version}}-{{os}}-{{arch}}.zip"
        }
    },
    "npm": {
        "distro": {
            "template": "https://registry.npmmirror.com/npm/-/npm-{{version}}.tgz"
        }
    }
}

保存文件,重新下载就可以了,我这边只配置了nodenpm的其他的没有找到

连接外网可以安装yarn

接下来正常安装我们需要的nodenpm就可以了

我们安装的nodenpm等在D:\develop\volta\Volta\tools文件夹中

volta命令

命令说明
volta list all查看当前volta安装的所有内容
volta install node@14.17.1安装指定版本的node,并设为默认值
volta install node@14volta会选择node14中最新稳定的或合适的版本匹配你的请求
volta install node安装node最新的LTS最新稳定的版本
volta install npmvolta安装npm包管理器;选择node的默认版本运行
volta install yarnvolta安装yarn包管理器;选择node的默认版本运行
volta pin node@14.17.1固定node版本到package.json中
olta uninstall [FLAGS] <tool>volta uninstall命令允许您删除使用volta install安装的任何全局软件包。

使用

先看下我的

image-20240829111115656

默认使用的node版本是16.18.0,如果项目的package.jsonvolta配置就使用配置的,不需要我们手动修改

如果需要切换默认版本 volta install node@19.2.0这样就修改好了

image-20240829111234466

项目设置版本号使用volta pin node@xx

参考文章

blog.csdn.net/chb19991118…

blog.csdn.net/weixin_6682…

blog.csdn.net/weixin_6682…

blog.csdn.net/xiawj8957/a…

blog.csdn.net/u014258211/…

docs.volta.sh/advanced/ho…

docs.volta.sh/guide/getti…

docs.volta.sh/reference/

juejin.cn/post/735400…