惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
L
LINUX DO - 最新话题
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
S
Schneier on Security
B
Blog
The Register - Security
The Register - Security
SecWiki News
SecWiki News
Hacker News: Ask HN
Hacker News: Ask HN
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security Affairs
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
T
Tenable Blog
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research
D
DataBreaches.Net
S
Secure Thoughts
Security Latest
Security Latest
H
Heimdal Security Blog
The Hacker News
The Hacker News
O
OpenAI News
AWS News Blog
AWS News Blog
量子位
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
腾讯CDC
U
Unit 42
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hugging Face - Blog
Hugging Face - Blog
The Last Watchdog
The Last Watchdog
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术
爱范儿
爱范儿
F
Full Disclosure

博客园 - 一丝心情

免费国产ai试用总结 glb格式3d模型压缩 nuxt.js 项目流水线自动部署设置 免费的云数据库 vue 实用指令 IntelliJ IDEA license server 激活(亲测有效) win10/win11专业版激活码(亲测有效) Git 常用指令完全指南 npm 安装依赖报错整理 css3文字渐变, svg文字渐变 http/https与websocket的ws/wss的关系 指令 v-tooltip vue 自定义指令实现v-overflow-tooltip element-ui NavMenu 多级嵌套封装 常用css vue.config.js config.resolve.alias 目录别名配置 three.js 在低版本浏览报THREE.WebGLProgran: shader error 报错解决办法 nuxt 低版本浏览器兼容babel编译配置 常用软件历史版本下载 前端常用指令 数组常用方法总结 vue 中 echarts 添加事件 常用正则
Volta 安装和使用指南
一丝心情 · 2026-07-07 · via 博客园 - 一丝心情

Volta 安装和使用指南

一、Volta 简介

Volta 是一个用 Rust 编写的 JavaScript 工具链管理器,它可以让你轻松地在项目中切换不同版本的 Node.js、包管理器(npm、yarn、pnpm)等工具。

Volta 的优势

  • 跨平台支持:Windows、macOS、Linux 全平台支持
  • 项目级别自动切换:进入项目目录自动切换到指定版本
  • 速度快:Rust 编写,启动和切换速度极快
  • 无冲突:多个版本共存,互不干扰
  • 简单易用:命令简洁,学习成本低

二、安装 Volta

Windows 安装

方式一:使用安装包(推荐)

  1. 访问 Volta 官网GitHub Releases
  2. 下载最新的 volta-x.x.x-x86_64.msi 安装包
  3. 双击安装包,按照提示完成安装
  4. 安装完成后,重新打开终端验证安装:
volta --version

方式二:使用 Scoop

scoop install volta

方式三:使用 Chocolatey

choco install volta

macOS/Linux 安装

curl https://get.volta.sh | bash

或者使用 Homebrew(macOS):

brew install volta

三、基本使用

1. 安装 Node.js

安装指定版本的 Node.js:

# 安装最新 LTS 版本
volta install node

# 安装指定版本
volta install node@14.21.3

# 安装指定大版本的最新版
volta install node@18

2. 安装包管理器

Volta 不仅可以管理 Node.js,还可以管理 npm、yarn、pnpm:

# 安装指定版本的 pnpm
volta install pnpm@7.33.7

# 安装指定版本的 yarn
volta install yarn@1.22.19

3. 查看已安装的工具

# 列出所有已安装的工具
volta list all

4. 设置默认版本

# 设置默认 Node.js 版本
volta install node@16

# 设置默认 pnpm 版本
volta install pnpm@8

四、项目级别配置

在项目中固定版本

在项目根目录下运行:

# 固定 Node.js 版本
volta pin node@14.21.3

# 固定 pnpm 版本
volta pin pnpm@7.33.7

执行后,package.json 中会自动添加 volta 字段:

{
  "name": "my-project",
  "version": "1.0.0",
  "volta": {
    "node": "14.21.3",
    "pnpm": "7.33.7"
  }
}

自动切换原理

当你进入包含 Volta 配置的项目目录时,Volta 会自动:

  1. 读取 package.json 中的 volta 字段
  2. 自动切换到指定的 Node.js 版本
  3. 自动切换到指定的包管理器版本

这意味着团队成员无需手动切换版本,只需安装 Volta 即可。


五、实际案例

以一个实际的 monorepo 项目为例,package.json 配置如下:

{
  "name": "resources",
  "version": "1.0.0",
  "volta": {
    "node": "14.21.3",
    "pnpm": "7.33.7"
  },
  "scripts": {
    "casic-base": "cd ./casic-base && npm run serve",
    "casic-tb": "cd ./casic-tb && npm run serve"
  }
}

团队协作流程

  1. 项目负责人:在项目中固定版本
volta pin node@14.21.3
volta pin pnpm@7.33.7
  1. 团队成员:克隆项目后安装依赖
# 安装 Volta(首次)
# Windows: 下载安装包
# macOS/Linux: curl https://get.volta.sh | bash

# 进入项目目录,Volta 自动切换版本
cd my-project

# 验证版本
node -v    # 输出: v14.21.3
pnpm -v    # 输出: 7.33.7

# 安装依赖
pnpm install

六、常用命令速查

命令 说明
volta install node@version 安装并设置为默认版本
volta pin node@version 在项目中固定版本
volta list 查看当前项目的工具版本
volta list all 查看所有已安装的工具版本
volta uninstall node@version 卸载指定版本
volta --version 查看 Volta 版本
volta help 查看帮助信息

七、与其他工具对比

特性 Volta nvm fnm
语言 Rust Shell Rust
速度 极快 较慢
项目自动切换 ✅ 支持 需配置 ✅ 支持
管理包管理器 ✅ 支持
Windows 支持 ✅ 原生 需 nvm-windows ✅ 原生
配置文件 package.json .nvmrc .node-version / .nvmrc

八、常见问题

Q1:如何查看当前项目使用的版本?

volta list

输出示例:

⚡️ Currently active tools:

    node: v14.21.3 (default)
    pnpm: v7.33.7 (default)

⚡️ Tool versions available in this project:

    node: v14.21.3
    pnpm: v7.33.7

Q2:如何卸载某个版本?

volta uninstall node@14.21.3

Q3:Volta 配置存储在哪里?

  • Windows: %LOCALAPPDATA%\Volta\
  • macOS/Linux: ~/.volta/

Q4:如何更新 Volta 本身?

# Windows (使用安装包重新安装)
# 或使用 scoop
scoop update volta

# macOS/Linux
volta install volta

九、最佳实践

1. 版本固定策略

  • 在项目初期就确定 Node.js 版本
  • volta 配置提交到版本控制
  • 包管理器版本也需要固定(尤其是 pnpm)

2. 团队协作建议

  • 在项目 README 中说明 Volta 的使用
  • 新成员加入时提供安装指南
  • CI/CD 环境也使用 Volta 保证一致性

3. 与 pnpm workspaces 配合

{
  "name": "monorepo-root",
  "volta": {
    "node": "14.21.3",
    "pnpm": "7.33.7"
  },
  "scripts": {
    "dev": "pnpm --filter casic-base dev",
    "build": "pnpm --filter casic-base build"
  }
}

十、参考链接


提示:本文档持续更新,如有问题欢迎指正。