上下文
我使用了aldeed:autoform包,发现了一些错误&为它提交PR(https://github.com/aldeed/meteor-autoform)。
Aldeed是许多流行软件包中唯一的维护者,最终成为合并PR& amp;跟进问题。 我的解决方案是分叉他的项目&发布了我的气氛。
天真地,我刚刚删除了他的包裹meteor remove aldeed:autoform
并尝试添加我的包裹:meteor add metakungfu:autoform
Package['aldeed:autoform']
返回预期的对象,即使我删除了包。
为了完整起见,我确实使用了一堆依赖于aldeed的其他软件包:autoform和我的猜测是这就是为什么aldeed:autoform package仍然存在的原因。
问题:
当该软件包是其他软件包的依赖项时,使用软件包分叉的正确方法是什么?
这是解决问题的正确方法吗?
答案 0 :(得分:0)
fork所有依赖项并使它们指向你的fork。
答案 1 :(得分:0)
不要将自己的aldeed:autoform
版本发布到Atmosphere,而应将其用作本地包,保持其名称不变。在尝试从Atmosphere取得之前,Meteor将首先查找您当地的包裹。
这样,依赖它的所有其他软件包都将使用您的本地版本。
为此,请参阅:Why does Meteor's aldeed/meteor-tabular package get stuck processing and never render a result?
参考:Meteor Guide > Build > Writing Atmosphere Packages > Overriding packages with a local version
答案 2 :(得分:0)
我最终使用mgp来管理软件包。 为了解决我的问题,我必须做两件事:
首先,在项目的根目录中添加git-packages.json
,如下所示:
➜ cat git-packages.json
{
"aldeed:autoform": {
"git": "git@github.com:gregory/meteor-autoform.git",
"branch": "dev"
}
}
这将在本地工作,但如果你部署到heroku,buildpack将需要安装mgp&安装依赖项。