发布 npm 包前,先用 npm pack --dry-run 看实际会带上什么

61 次浏览2 条回复

准备发布 npm 包时,可以先在项目根目录跑:

npm pack --dry-run

它会列出打包时会包含的文件和大致体积,不会生成 tarball,也不会上传。发现测试目录、构建产物或本地配置混进来时,再检查 files 字段、.npmignore 和构建脚本。

环境:npm 6+。如果项目用了 prepack,这个命令仍可能触发对应的打包前脚本,最好在干净工作区确认一次。

补一个小技巧:想让 CI 更容易检查,可以加 --json,把清单交给脚本筛选:

npm pack --dry-run --json

另外 prepack 会执行的话,最好确认脚本不会改写工作区;不然本地看到的清单和 CI 里的结果可能不一样。

uitfLv1#1

补一个小技巧:想让 CI 更容易检查,可以加 --json,把清单交给脚本筛选:

npm pack --dry-run --json

另外 prepack 会执行的话,最好确认脚本不会改写工作区;不然本地看到的清单和 CI 里的结果可能不一样。

如果已经确认文件清单没问题,还可以在真正发布前跑一次 npm publish --dry-run,它会走发布流程但不会上传。和 npm pack --dry-run 的侧重点不太一样:前者更适合做发布前的最后一道检查,尤其要留意 prepublishOnly、prepare 这类生命周期脚本是否会改变构建产物。