pnpm publish不遵守package.json中files字段的问题求助
解决pnpm发布后包目录包含所有文件的问题
以下是针对该问题的排查和解决步骤:
升级pnpm到最新稳定版
部分旧版本pnpm存在发布时文件筛选的bug,执行pnpm add -g pnpm完成升级后重新尝试发布。清理pnpm缓存后重新发布
本地缓存可能导致发布时读取旧的文件集合,执行pnpm store prune清理缓存,再重新执行pnpm publish --access public。直接发布pnpm pack生成的tgz文件
既然pnpm pack生成的包内容符合预期,可跳过pnpm自动打包发布流程,直接发布已生成的压缩包:pnpm pack pnpm publish ./your-package-name-version.tgz --access public检查package.json的publishConfig字段
确认package.json中publishConfig未覆盖files字段的配置,比如是否误设publishConfig.directory指向项目根目录而非build目录,或是存在其他扩大文件范围的配置项。确认发布命令无额外干扰参数
检查发布时是否添加了--no-filter等可能破坏文件筛选逻辑的参数,确保发布命令仅为pnpm publish --access public(若为monorepo子包,需切换到对应子包目录执行)。
内容的提问来源于stack exchange,提问作者Wojciech Król
相关产品推荐
相关产品推荐

