Composer需要一个fork分叉

时间:2016-12-07 14:15:55

标签: git github dependencies composer-php fork

我的主要目标是在松弛回购中更改依赖版本。
在我的项目中,我需要使用 slack-laravel ,这取决于松弛

我做了什么:

  • 分叉松弛 slack-laravel
  • 更改了 slack 中所需的依赖项版本,并将其推送到名为guzzle-patch的分支
  • slack-laravel 中的原始 slack 依赖项更改为我的分叉 slack ,如下所示:

    "repositories": [
      {
          "type": "vcs",
          "url": "https://github.com/gofilord/slack"
      }
    ],
    "require": {
      "php": ">=5.4.0",
      "maknz/slack": "dev-guzzle-patch"
    },
    
  • 然后我做了一个composer update,它没有任何问题。
  • 最后,我将此更新推送到我的分叉 slack-laravel 中的新guzzle-patch分支

问题:
当我尝试在我的项目中composer update 时,指向我的分叉 slack-laravel ,它会抛出错误:

Problem 1
  - Installation request for maknz/slack-laravel dev-guzzle-patch -> satisfiable by maknz/slack-laravel[dev-guzzle-patch].
  - maknz/slack-laravel dev-guzzle-patch requires maknz/slack dev-guzzle-patch -> no matching package found.

我的composer.json:

"repositories": [
  ...
  {
    "type": "vcs",
    "url": "https://github.com/gofilord/slack-laravel"
  }
],

"require": {
    ...
    "maknz/slack-laravel": "dev-guzzle-patch"
},

1 个答案:

答案 0 :(得分:1)

您不能简单地要求具有dev稳定性的依赖项,您必须在root包中允许它们。

此外,您应该根据分支机构重新考虑。从长远来看这会伤害到你,因为你将很难回到已知的工作状态 - 并且有一个以上的包与分支一起使用,你会添加更多移动的部分,这些部分都是相互依赖的。这将是一个烂摊子,你已被警告。请注意,标记版本可能是最简单的方法,它会阻止事情向南移动。

标记版本可以解决您的问题。

或者,"minimum-stability": "dev"将允许您需要的所有包的dev,alpha,beta或RC版本(可能不是非常理想的东西),因此还应设置"prefer-stable":true