当原始包是依赖项时,如何使用meteor包的fork

时间:2016-08-25 23:47:13

标签: javascript git meteor meteor-autoform

上下文

我使用了aldeed:autoform包,发现了一些错误&为它提交PR(https://github.com/aldeed/meteor-autoform)。

Aldeed是许多流行软件包中唯一的维护者,最终成为合并PR& amp;跟进问题。 我的解决方案是分叉他的项目&发布了我的气氛。

天真地,我刚刚删除了他的包裹meteor remove aldeed:autoform并尝试添加我的包裹:meteor add metakungfu:autoform

当我加载我的应用程序时,我收到以下错误: enter image description here

Package['aldeed:autoform']返回预期的对象,即使我删除了包。

为了完整起见,我确实使用了一堆依赖于aldeed的其他软件包:autoform和我的猜测是这就是为什么aldeed:autoform package仍然存在的原因。

问题:

  • 当该软件包是其他软件包的依赖项时,使用软件包分叉的正确方法是什么?

  • 这是解决问题的正确方法吗?

3 个答案:

答案 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&安装依赖项。

我只是opened a PR to fix this