我使用Composer与这个composer.json:
拉入一个包{
"require": {
"torophp/torophp": "dev-master",
},
}
当我运行composer install
时,它似乎直接从GitHub中提取此包。
我在github上创建了一个repo的fork,但有一些小改动。有没有办法让作曲家在GitHub而不是原版上拉我的版本?
答案 0 :(得分:42)
如果这是您的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”< / em>在操作期间)。
更新(2014年9月18日): 正如@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
进行双重检查,以便使用所需的存储库源。
从那里,您可以将更改提交到fork并从origin(git pull origin master
)更新它。