# pnpm-changsets-monorepo-example **Repository Path**: front-knowledge-space/pnpm-changsets-monorepo-example ## Basic Information - **Project Name**: pnpm-changsets-monorepo-example - **Description**: 基于 pnpm + changesets 的 monorepo 最佳实践 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-25 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pnpm-changsets-monorepo-example #### 介绍 基于 pnpm + changesets 的 monorepo 最佳实践 #### 参考文献 - [基于 pnpm + changesets 的 monorepo 最佳实践](https://juejin.cn/post/7181409989670961207) #### 随堂记录 - pnpm -r run build:加入 -r 是指定为 worksapce 中的子包执行 build 命令。默认情况下,pnpm 会根据子包的依赖拓扑排序,按顺序对子包执行命令,以避免在构建某个包的时候,出现子依赖的构建产物未生成的问题,进而引发比如类型错误等问题。另外如果两个子包没有依赖关系,pnpm 会并发进行构建。 - pnpm --parallel -r run watch:watch 命令是会长时间运行监听文件变更,进程不会自动退出(除了报错或者手动退出),因此需要加上 --parallel 告诉 pnpm 运行该脚本时完全忽略并发和拓扑排序。 - 安装和初始化 changesets: 1.根目录执行下面的命令:pnpm i -Dw @changesets/cli 2.安装完成以后,你可以在项目根目录执行以下命令以快速初始化 changesets:pnpm changeset init - 生成 changeset 文件:pnpm changeset - 发布测试版本: 1.通过执行 pnpm changeset pre enter 命令进入先进入 pre 模式 ``` pnpm changeset pre enter alpha # 发布 alpha 版本 pnpm changeset pre enter beta # 发布 beta 版本 pnpm changeset pre enter rc # 发布 rc 版本 ``` 2.然后执行 pnpm changeset version 修改包的版本 3.最后执行 pnpm run build && pnpm changeset publish 发布 beta 版本 4.完成版本发布之后,退出 Prereleases 模式:pnpm changeset pre exit - 发布正式版本 测试版本验证完成以后,执行以下命令把包版本修改成正式版本 pnpm changeset version 然后我们执行以下命令发布正式版本: pnpm changeset publish changeset 会检查当前工作区中所有包的版本是否已经被发布过,如果没有则自动发布。