我使用 Composer 和这个 composer.json 拉入一个包:
{
"require": {
"torophp/torophp": "dev-master",
},
}
当我运行composer install
时,它似乎直接从 GitHub 中提取了这个包。
我在 github 上创建了该 repo 的一个分支,并做了一些小改动。有没有办法让作曲家在 GitHub 上提取我的版本而不是原始版本?
我使用 Composer 和这个 composer.json 拉入一个包:
{
"require": {
"torophp/torophp": "dev-master",
},
}
当我运行composer install
时,它似乎直接从 GitHub 中提取了这个包。
我在 github 上创建了该 repo 的一个分支,并做了一些小改动。有没有办法让作曲家在 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
),然后 composer 将下载您的 fork(即使它在操作期间回显“正在安装 torophp/torophp”)。
更新(18.09.2014): 正如@efesaid 在评论中提到的:
如果你的包是在 packagist 上发布的,你需要添加
--prefer-source
从 VCS 强制安装的选项。
[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 并从源 ( git pull origin master
) 更新它。
Composer 参考:从 VCS 存储库加载包