更改包的作曲家 git 源



我使用Composer和这个composer.json拉入一个包:

{
    "require": {
        "torophp/torophp": "dev-master",
    },
}

当我运行composer install时,它似乎直接从 GitHub 中提取此包。

我已经在 github 上创建了该存储库的一个分支,并进行了一些小的更改。有没有办法让作曲家在 GitHub 上提取我的版本而不是原始版本?

如果这是你的composer.json

"require": {
  "torophp/torophp": "dev-master"
}

并且您想更改它并使用您的 fork,只需将您的存储库添加到composer.json中,如下所示:

"repositories": [
   {
     "type": "vcs",
     "url": "https://github.com/your-github-username/torophp"
   }
]

重要提示:请勿更改"require"部分,它必须继续使用 torophp/torophp

添加"repositories"部分后,运行一个composer update(或composer.phar update),作曲家将下载您的叉子(即使它在操作过程中回显"安装 torophp/torophp")。


更新(18.09.2014):正如@efesaid在评论中提到的:

如果您的软件包发布在packagist上,则需要添加 --prefer-source强制从 VCS 安装的选项。


注意:对于那些在从HTTP(S)源中提取时遇到问题的人(即尝试更新时遇到[RuntimeException] Failed to clone https://github.com/your-github-username/torophp, could not read packages from it),您可以将composer.json更改为使用git协议。为此,请按如下方式更改composer.json,然后再次运行composer update
"repositories": [
   {
     "type": "git",
     "url": "git://github.com/your-github-username/torophp.git"
   }
]

现在进入vendor/torophp/torophp并运行git remote -v,仔细检查您是否使用了存储库所需的源。

从那里,您可以将更改提交到您的分叉并从源(git pull origin master)更新它。


更新:要在 GitHub 上使用私有仓库,您必须使用 git 协议,并且还必须为 git 客户端安装 SSH 密钥。

作曲家参考:从 VCS 存储库加载包

相关内容

  • 没有找到相关文章

最新更新