最近,我使用了一个GitHub存储库来修复一个问题,并创建了一个拉请求。在等待请求被接受时,我已经将本地的package.json指向了我的分叉回购,如下所示:
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}然而,事实证明,karma-mocha需要执行一个构建步骤来生成lib/adapter.js --这是包的一个重要部分。此文件在.gitignore中列出,因此存储库中不存在该文件。构建步骤是通常在将包发布到npm时执行的一个普通任务,因此adapter.js存在于下载的npm模块中。
我的问题是:如何正确地将分叉构建的存储库版本打包,以便我可以将其用作依赖项?据我所知,我有以下选择:
.tgz文件,然后将其存放在某个地方,并将package.json指向该文件。.gitignore以允许adapter.js,然后推送到Github上的分支,并使用该分支作为我的依赖项。这两种方法都有用,但我觉得我遗漏了一些东西。npm有分叉包装的概念吗?并不是每个git存储库都可以作为依赖项使用,而不需要某种构建/dist步骤,那么做这种事情的公认方法是什么呢?
发布于 2017-12-07 05:20:58
这似乎与业力跑步者/业力-茉莉花问题38相似,不是完全相同的库,而是相同的想法,并且与adapter.js有相同的问题:
正如您正确指出的,
adapter.js是由grunt build生成的。 当我们运行adpater.js时,grunt release只放在grunt release存储库中。 如果您想使用您的karma-jasmine版本,那么您可以从.gitignore中删除lib/adapter.js。
因此,备选案文2。
https://stackoverflow.com/questions/36158658
复制相似问题