Published on

全面掌握Volta: 跨平台Node版本管理终极指南

Authors
  • avatar
    Name
    Liant
    Twitter

Node版本管理器Volta使用指南

1、应用场景

随着业务堆叠,公司维护和开发的项目越来越来多,无论是个人开发还是运维部署,每个项目框架不同、插件不同、相同插件依赖的版本不同,都会导致对node版本的不同要求。

这个时候就需要在个人开发电脑、运维服务器上安装node版本管理工具。目前常用的是windows的nvm,linux的n。但是或多或少存在一些问题:

  • 个人开发及运维使用的工具不同,指令操作不同;
  • nvm存在安装node丢失npm的缺陷,需要自己去下载npm包,使用起来也不方便;
  • nvm和n本质上只能控制电脑或服务器整个环境的node版本,无法实现,不同项目(文件夹)之间的node版本隔离;

而volta已经解决了上面的三个问题。

2、volta优势

  • 适用于任何操作系统
  • 支持node/npm/yarn的版本管理
  • 隔离项目之间的node版本
  • 安装快速

3、安装和环境变量配置演示

官网首页:https://volta.sh/

windows:https://www.jianshu.com/p/c6f17d67c6b1

Linux:https://docs.volta.sh/guide/getting-started (官方)

4、常用指令和应用场景演示

  • Volta install
    • Volta install node/yarn@xx.xx.xx 全局安装某个版本的node、yarn并将全局默认版本切换至该版本

    • Volta install node@12

    • Volta install node@12.16

    • Volta install node@12.16.1

    • 重要更新:最近install node时会网络下载失败( https://nodejs.org 需要科学上网) 解决方案为手动去node中文镜像站下载对应版本的zip文件放到volta的版本库中。 然后再执行Volta install node@xx.xx.xx,初始化npm即可。操作步骤见下:

      方法一:

      • 使用淘宝镜像链接下载对应版本zip包(替换16.19.1至任意存在的版本号即可 ):https://registry.npmmirror.com/-/binary/node/v16.19.1/node-v16.19.1-win-x64.zip
      • 在我的电脑->属性->高级系统设置->环境变量->用户的path配置找到你的volta版本库路径 图片
      • 将下载zip文件剪切至目录下的D:\volta\tools\inventory\node 文件夹内(不要解压)。
      • 打开cmd操作终端,执行一下volta install node@xx.xx.xx,安装完成。

      方法二:

      • 在D:\volta下创建hooks.json文件。
        • 写入以下内容:
          {
              "node": {
                  "latest": {
                      "prefix": "https://registry.npmmirror.com/"
                  },
                  "distro": {
                      "template": "https://registry.npmmirror.com/-/binary/node/v{{version}}/node-v{{version}}-{{os}}-{{arch}}.zip"
                  }
              }
          }
          
      • 之后即可按常规指令操作下载node,飞快哦~~~
      • Ps: 此方法未在除windows系统以外的系统测试过,慎用。
  • Volta uninstall 卸载,但是我没成功,是找的文件夹删除的方式卸载了某个版本。
    • Volta pin
      • 依赖于package.json文件,必须在有该文件的目录下执行。
      • Volta pin node@12
      • Volta pin node@12.16
      • Volta pin node@12.16.1
      • 运行后会修改package.json的相关配置内容
        "volta": {
            "node": "12.16.1",
            "yarn": "1.22.19"
        }
        
  • Volta list <all> 查看当前环境已安装和默认的配置

5、不是必须统一使用

即使是不使用volta做自己的node版本管理器,也不和其他协作者有所冲突。可以根据使用习惯,自行切换本地node版本。

同一个项目在新增、升级插件时,应当考虑整体的node版本依赖。

同一项目应该在package.json下增加版本配置(即使自己不使用volta,也可以告诉协作者注意环境版本依赖)。

开发者应该自觉遵行项目配置的版本要求。不得私自加入不能向下兼容的插件。