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> 卸载包
相关推荐
QuantumLeap丶4 分钟前
《uni-app跨平台开发完全指南》- 06 - 页面路由与导航
前端·vue.js·uni-app
CSharp精选营5 分钟前
ASP.NET Core Blazor进阶1:高级组件开发
前端·.net core·blazor
用户904438163246014 分钟前
AI 生成的 ES2024 代码 90% 有坑!3 个底层陷阱 + 避坑工具,项目 / 面试双救命
前端·面试
小p17 分钟前
react学习6:受控组件
前端·react.js
黑云压城After24 分钟前
纯css实现加载动画
服务器·前端·css
鹏多多26 分钟前
Web使用natapp进行内网穿透和预览本地页面
前端·javascript
ttod_qzstudio37 分钟前
Vue 3 Props 定义详解:从基础到进阶
前端·vue.js
钱端工程师38 分钟前
uniapp封装uni.request请求,实现重复接口请求中断上次请求(防抖)
前端·javascript·uni-app
dcloud_jibinbin40 分钟前
【uniapp】解决小程序分包下的json文件编译后生成到主包的问题
前端·性能优化·微信小程序·uni-app·vue·json
茶憶43 分钟前
uniapp移动端实现触摸滑动功能:上下滑动展开收起内容,左右滑动删除列表
前端·javascript·vue.js·uni-app