安装依赖
vp install 使用当前工作区的包管理器来安装依赖。
概述
使用 Vite+ 来管理 pnpm、npm、Yarn 和 Bun 之间的依赖关系。无需在 pnpm install、npm install、yarn install 和 bun install 之间切换,你可以继续使用 vp install、vp add、vp remove 以及其余的 Vite+ 包管理命令。
Vite+ 按照以下顺序检测包管理器:
package.json中的packageManagerpnpm-workspace.yamlpnpm-lock.yamlyarn.lock或.yarnrc.ymlpackage-lock.jsonbun.lock或bun.lockb.pnpmfile.cjs或pnpmfile.cjsbunfig.tomlyarn.config.cjs
如果以上文件都不存在,Vite+ 默认回退到 pnpm。Vite+ 会自动下载匹配的包管理器并用于你运行的命令。
The explicit packageManager field also affects matching package-manager shims. If a project has packageManager: "npm@10.9.4", npm and npx use npm 10.9.4. Other generated alias pairs behave the same way: pnpm/pnpx, yarn/yarnpkg, and bun/bunx. Mismatched tools are not translated; npm in a pnpm project still resolves as npm.
Usage
vp install常见安装流程:
vp install
vp install --frozen-lockfile
vp install --lockfile-only
vp install --filter web
vp install -wvp install 会映射到检测到的包管理器的正确底层安装行为,包括适用于 pnpm、npm、Yarn 和 Bun 的正确锁文件标志。
全局包
使用 -g 标志来安装、更新或移除全局安装的包:
vp install -g <pkg>全局安装一个包vp uninstall -g <pkg>移除一个全局包vp update -g [pkg]更新一个全局包或所有全局包vp list -g [pkg]列出全局包
管理依赖
Vite+ 提供了所有熟悉的包管理命令:
vp install会为项目安装当前的依赖图vp add <pkg>将包添加到dependencies,使用-D添加到devDependenciesvp remove <pkg>移除包vp update更新依赖vp dedupe在包管理器支持的情况下减少重复依赖条目vp outdated显示可用更新vp list显示已安装的包vp why <pkg>解释为什么会安装该包vp info <pkg>显示包的注册表元数据vp rebuild重新构建原生模块(例如切换 Node.js 版本后)vp link和vp unlink管理本地包链接vp dlx <pkg>运行包的二进制文件而不将其添加到项目中vp pm <command>转发原始的、与包管理器相关的命令;当你需要超出已标准化的vp命令集的行为时使用
命令指南
安装
当你想安装与当前 package.json 和锁文件完全一致的内容时,使用 vp install。
vp install是标准安装命令vp install --frozen-lockfile如果锁文件需要更改则失败vp install --no-frozen-lockfile允许显式更新锁文件vp install --lockfile-only不执行完整安装,仅更新锁文件vp install --prefer-offline和vp install --offline优先或强制使用缓存包vp install --ignore-scripts跳过生命周期脚本vp install --filter <pattern>在 monorepo 中限制安装范围vp install -w在工作区根目录安装
全局安装
当你想让包管理器管理的工具在单个项目之外可用时,使用这些命令:
vp install -g typescriptvp uninstall -g typescriptvp update -gvp list -g
添加和移除
使用 vp add 和 vp remove 进行日常的依赖编辑,而不是手动编辑 package.json。
vp add reactvp add -D typescript vitestvp add -O fseventsvp add --save-peer reactvp remove reactvp remove --filter web react
更新、压缩和查看过期
使用这些命令来维护依赖图:
vp update刷新包到更新版本vp outdated显示哪些包有可用的新版本vp dedupe请求包管理器在可能的情况下折叠重复项
检查
当你需要了解依赖的当前状态时,使用这些命令:
vp list显示已安装的包vp why react解释为什么安装了reactvp info react显示注册表元数据,如版本和 dist-tags
重新构建
当需要重新编译原生模块时,使用 vp rebuild;例如在切换 Node.js 版本后,或当 C/C++ 加载失败的扩展无法加载时。
vp rebuild重新构建所有原生模块vp rebuild <package...>仅重新构建列出的包vp rebuild -- <args>将额外参数传递给底层包管理器
vp rebuild
vp rebuild better-sqlite3 sharp
vp rebuild -- --update-binaryvp rebuild 是 vp pm rebuild 的简写。
对于 pnpm v10+,裸用 vp rebuild 只会重新构建其构建脚本列在 onlyBuiltDependencies 中(或通过 pnpm approve-builds 批准)的包;如果要强制重新构建并绕过批准门槛,请显式指定包名。
高级
当你需要更低级别的包管理器行为时,使用这些命令:
vp link和vp unlink管理本地开发链接vp dlx create-vite运行包二进制文件而不将其保存为依赖vp pm <command>直接转发到解析的包管理器
示例:
vp pm config get registry
vp pm cache clean --force
vp pm exec tsc --version