【问题标题】:Replace composer package in framework by other fork用其他fork替换框架中的composer包
【发布时间】:2013-08-06 06:10:24
【问题描述】:

我使用作曲家驱动的框架(Laravel 4)。 它使用 Carbon 类进行日期时间操作。 Carbon 提供了完美的东西,但泄露了一些我需要的功能。 所以,我已经分叉了它,编写了新功能,并将它推送到我在 GitHub 上的存储库中。

问题是如何让 composer 替换原始 repo 中的 Carbon,在我的版本中,在哪个框架的 composer.json 链接?

在根 composer.json 中,我添加了指向我的 repo 的链接:

"repositories":[
    ...
    {
        "type":"git",
        "url":"https://github.com/terion-name/Carbon"
    }
],

我还尝试在“require”块中添加“nesbot/carbon”:“*”,我尝试添加

"replace" : {
  "nesbot/carbon": "self.version"
},

在我的 Carbon composer.json 版本中。 没有任何效果。 Composer 安装原始版本的 carbon,没有关注我的 repo

【问题讨论】:

    标签: php laravel laravel-4 composer-php


    【解决方案1】:

    Composer 默认从packagist.org 读取。

    由于您已经在 github 上创建了一个 repo,您​​可以将该 fork 公开给 packagegist,以便 Composer 可以以同样的方式从中读取。

    【讨论】:

    • 这并不完全正确。 Composer 可以从 packagist.org、github.com、任何其他 git repo 甚至从 zip-archives 上的链接中读取包。为此,您只需在 composer.json 文件的“存储库”部分添加额外的存储库。
    • @ВладимирКорнилов 我知道,但是因为它是一个 Github 分支,所以如果你使用 composer,将它添加到 packagist 是有意义的。
    【解决方案2】:
    "repositories": [
        { "packagist": false },
        {
            "type": "composer",
            "url": "http://local/packages.json"
        }
    ]
    

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 2013-07-31
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多