首页 > 解决方案 > 从 GitHub 存储库安装包

问题描述

我的问题是,当我尝试安装版本设置为某个 git 分支的我的包时,我的构建正在中断,因为存储库不dist包含我的 npm 包所包含的文件夹。

这是我想要安装软件包的方式。 @me/myPkg": "github:me/myPkg#myBranch

那么我的存储库应该包含 dist 文件夹还是在这种情况下的最佳做法是什么?我不想将我的 dist 包发布到 github 上,因为这样我会遇到奇怪的合并冲突,因为 dist 文件夹包含我所有的类型声明和缩小的 javascript 文件,但也许这是首选方式?

我的另一个想法是在我的 package.json 中有一个 postinstall 脚本,它构建了源文件,但是我还必须安装 devDependencies 并且 npm install 不会为依赖项安装它们。

标签: javascriptnode.jsnpm

解决方案


你是如何发布你的包的?例如,我的存储库上有一个GitHub Actions设置,当提交到 时master,将自动执行几个步骤

  • 运行npm install设置 Git 凭证变量(用于以后的过程)

  • 运行npm test(如果测试失败,则整个过程失败)

  • 运行 npm run release(我standard-version用于自动版本递增和更改日志创建,并在构建之前执行此操作,以便版本可以反映在构建的代码中)

  • npm run build

  • 运行npm run publish推送到 npm

  • 将我的版本更新作为标签提交到 Git

我的 GitHub Action 在它为构建过程启动的临时容器中完成所有这些工作。完成后,将整个容器扔掉。我使用一个.npmignore文件来说明publish我在最终包中不需要的内容(注释文件、构建工具等)。


推荐阅读