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

推荐订阅源

云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Proofpoint News Feed
G
GRAHAM CLULEY
P
Privacy International News Feed
The Hacker News
The Hacker News
Forbes - Security
Forbes - Security
U
Unit 42
N
News and Events Feed by Topic
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cisco Blogs
A
About on SuperTechFans
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
Docker
I
Intezer
Spread Privacy
Spread Privacy
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
S
Security @ Cisco Blogs
F
Full Disclosure
S
Secure Thoughts
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
W
WeLiveSecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Project Zero
Project Zero
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
S
Security Affairs
AWS News Blog
AWS News Blog
H
Help Net Security
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
Vercel News
Vercel News
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
S
Schneier on Security
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
L
LINUX DO - 最新话题
T
Tor Project blog
T
The Exploit Database - CXSecurity.com
MongoDB | Blog
MongoDB | Blog
Webroot Blog
Webroot Blog

博客园 - 一丝心情

免费国产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"
  }
}

十、参考链接


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