M1 Mac执行npm publish发GitHub Packages时dist目录仅打包package.json
M1 MacBook Pro 环境下 npm 发布 GitHub 包时 dist 目录文件被错误忽略问题
问题核心表现
在全新 M1 芯片 MacBook Pro 上执行 npm publish 向 GitHub Packages 发布自有 npm 包时,出现异常行为:按照 package.json 中 files 字段的配置,应当完整纳入发布范围的 dist/ 目录,最终仅保留了目录下的 package.json 文件,其余所有编译生成的业务代码文件都没有被打入发布包。
同一套代码、同一份配置在旧款 MacBook Pro 上执行发布流程完全正常,经过多轮排查未定位到问题根因,也未检索到同类问题的公开案例。
项目结构参考

项目核心配置节选
项目 package.json 的核心配置内容如下:
{ "name": "@secretaccount/authoriser", "version": "1.0.37", "description": "", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ "dist/" ], "publishConfig": { "registry": "https://npm.pkg.github.com/" }, // 其余配置项已省略 }
发布流程实际输出
执行 npm publish 后,终端输出的npm打包元信息如下:
npm notice npm notice 📦 @carsvansandbikes/authoriser@1.0.37 npm notice === Tarball Contents === npm notice 1.3kB dist/package.json npm notice 1.3kB package.json npm notice 12B README.md npm notice === Tarball Details === npm notice name: @secretaccount/authoriser npm notice version: 1.0.37 npm notice filename: secretaccount-authoriser-1.0.37.tgz npm notice package size: 732 B npm notice unpacked size: 2.5 kB npm notice shasum: e0c7f6fe9fe6219a4028de91786418144b642101 npm notice integrity: sha512-E23BiP4l5MWp5[...]FRmx3e9zFr7hQ== npm notice total files: 3 npm notice
从输出可以确认,最终生成的发布包总共仅包含3个文件,完全缺失dist目录下的业务编译产物,需要协助定位问题原因。
内容的提问来源于stack exchange,提问作者Paul A.T. Wilson
相关产品推荐
相关产品推荐

