volta了解和使用

volta是什么

使用背景

手头并行了几个项目,由于历史原因,有个项目只能用低版本的node, 而另一个项目需要高版本的node 因此在切换项目的时候,就需要手动切换node 版本,频繁的切换版本着实有点烦人 正好发现了volta 可以解决我的问题

这是什么玩意儿

Volta ------ 这是一个现代的 JavaScript 工具链管理器,可以快速、便捷地管理 node、npm、yarn、pnpm 等工具的版本,类似于更加智能友好的 nvm。是的,我主要用他来替换nvm 使用。

怎么用

下载 github.com/volta-cli/v...

volta-2.0.2-windows-x86_64.msi

常见用途与基本命令

a) 安装 node (全局环境)

复制代码
bash复制代码
volta install node

安装最新版 node,或指定版本:

perl 复制代码
bash复制代码
volta install node@18   # 安装 node 18.x

b) 安装 npm、yarn、pnpm

复制代码
bash复制代码
volta install npm
volta install yarn
volta install pnpm

也可以指定版本:

perl 复制代码
bash复制代码
volta install npm@7             # 安装 npm 7.x
volta install yarn@1.22.19      # 安装 yarn 指定版本

c) 查看已安装、当前激活版本

复制代码
bash复制代码
volta list

这样会显示当前安装的所有工具及其版本。

d) 设置项目本地 node 版本(项目级管理)

  1. 切换到你的项目目录

  2. 运行(比如):

    kotlin 复制代码
    bash复制代码
    volta pin node@18
    volta pin yarn@3

    这样会在项目的 package.json 里写入 volta 配置,其他用 volta 的团队成员进入该目录,会自动用同样的 node/yarn 版本。

nvm 用的好好的,为啥要换工具

  • 自动切换到所需 node 版本,跨项目无需手动 nvm use。
  • 安装工具更干净,不会全局污染。
  • 与 nvm 对比: nvm 只管理 node,Volta 不仅管理 node,还可以管理 yarn/pnpm/npm 等各种全局 cli 工具。
  • 性能更好,不需要每次 shell 启动都重新切 profile,启动很快。

配置文件说明

package.json 里有自动生成的一块:

json 复制代码
json复制代码
"volta": {
  "node": "18.16.0",
  "yarn": "1.22.19"
}

卸载/切换版本

css 复制代码
bash复制代码
volta uninstall node
volta install node@16

遇到错误

一顿操作之后,以为万事大吉了,结果vscode 提示volta 不是可运行的命令

  1. 关闭vscode 窗口重新打开
  2. 重启电脑

终于在重启电脑之后可用了

总结

volta 常用命令

  • volta install <package[@version]> 安装 node/npm/yarn 等
  • volta pin <package[@version]> 项目级锁定工具版本
  • volta list 查看当前状态
  • volta uninstall <package> 卸载包
相关推荐
专注API从业者3 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
烛阴4 小时前
TypeScript高手密技:解密类型断言、非空断言与 `const` 断言
前端·javascript·typescript
样子20185 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
Nicholas685 小时前
flutterAppBar之SystemUiOverlayStyle源码解析(一)
前端
黑客飓风5 小时前
JavaScript 性能优化实战大纲
前端·javascript·性能优化
emojiwoo6 小时前
【前端基础知识系列六】React 项目基本框架及常见文件夹作用总结(图文版)
前端·react.js·前端框架
张人玉7 小时前
XML 序列化与操作详解笔记
xml·前端·笔记
杨荧7 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
YeeWang8 小时前
🎉 Eficy 让你的 Cherry Studio 直接生成可预览的 React 页面
前端·javascript
gnip8 小时前
Jenkins部署前端项目实战方案
前端·javascript·架构