我最近分叉了一个GitHub存储库来修复问题,并创建了一个pull请求。当我等待拉取请求被接受时,我已将我的本地package.json
指向我的分叉仓库,如下所示:
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}
然而事实证明,karma-mocha
需要执行构建步骤来生成lib/adapter.js
- 这是程序包的重要部分。此文件列在.gitignore
中,因此存储库中不存在。构建步骤是一个繁琐的任务,通常在包发布到npm时执行,因此下载的npm模块中存在adapter.js
。
我的问题是:打包存储库的分叉构建版本的正确方法是什么,以便我可以将其用作依赖项?据我所知,我有以下选择:
.tgz
文件,然后将其托管在某处并将package.json指向该文件。.gitignore
改为允许adapter.js
,然后推送到Github上的分支并使用该分支作为我的依赖。这些都可以,但我觉得我错过了一些东西。 npm是否有分叉包的概念?并不是每个git存储库都可以用作依赖,而不需要某种构建/ dist步骤,那么做这种事情的可接受方式是什么?
答案 0 :(得分:9)
这似乎与karma-runner/karma-jasmine issue 38相似,不是完全相同的库,但是相同的想法,以及adapter.js的问题:
正如您所指出的那样,
adapter.js
生成了grunt build
当我们运行adpater.js
时,grunt release
仅放置在npm存储库中。如果您想使用
karma-jasmine
版本,则可以从lib/adapter.js
删除.gitignore
。
所以选项2。