例如我想要求:
{
"repositories": [
{
"type": "git",
"url": "https://github.com/google/google-api-php-client.git"
}
],
"require": {
"google/apiclient": "v1-master"
}
}
在此示例中,我尝试在分支 v1-master
上要求 google/apiclient
。我得到错误:
[UnexpectedValueException]
Could not parse version constraint v1-master: Invalid version string "v1-master"
您需要在所有开发分支(= 未标记)前加上 dev-
。
要安装您需要的分支,请使用:
composer require google/apiclient:dev-v1-master
请参阅composer docs。
这将起作用:
{
"repositories": [
{
"type": "git",
"url": "https://github.com/google/google-api-php-client.git"
}
],
"require": {
"google/apiclient": "dev-BRANCH_NAME"
}
}
所以模式是“dev-*”,如果你的分支名称是“bug-fix”,那么“dev-bug-fix”
使用命令行:
composer require google/apiclient:dev-BRANCH_NAME
"url": "https://github.com/your-username/google-api-php-client.git"
但需要保持:google
供应商。
我正在尝试对包含多个软件包的不同 Google 存储库进行相同的操作,我花了一些时间才弄清楚。因此,我在下面分享我的解决方案。
我的目标是从 master 分支中的 https://github.com/googleapis/google-cloud-php.git 提取最新的 google/cloud-compute。
以下步骤对我有用:
克隆存储库
git clone https://github.com/googleapis/google-cloud-php.git google-cloud-php
设置 composer.json 以使用本地文件夹中的正确包:
{
"repositories": [
{
"type": "path",
"url": "/Users/USERNAME/projects/google-cloud-php/Compute"
}
],
"require": {
"google/cloud-compute": "dev-master"
}
}
请注意,在第 2 步中,url
指向实际 google/cloud-compute 包所在的 Compute 子文件夹。
我的解决方案可以很容易地针对任何分支进行调整,您只需要在步骤 1 中 git checkout 适当的分支,然后在步骤 2 中将“dev-master”更改为“dev-YOUR_BRANCH”。
不定期副业成功案例分享