作曲家需要分支名称


106

例如,我想要求:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/google/google-api-php-client.git"
    }
  ],

  "require": {
    "google/apiclient": "v1-master"
  }
}

在此示例中,我尝试google/apiclient在branch上执行require v1-master。我得到错误:

  [UnexpectedValueException]                                                        
  Could not parse version constraint v1-master: Invalid version string "v1-master"

Answers:


186

您需要在所有dev分支(=未标记)之前加上前缀dev-

要安装所需的分支,请使用:

composer require google/apiclient:dev-v1-master

参见composer docs


1
方便的信息。谢谢!
马特·科马尼克

我正在Windows机器上尝试此操作,但是无法找到正确的命令来运行composer来从git存储库下载软件包。所以,请你帮忙吗?
Sr. PHP程序员团队负责人,

仅在composer命令中添加'dev-'前缀。您是否不需要更改存储库分支名称中的任何内容
Silas Ribas Martins

即使使用--no-cache也无法重新安装更新的分支,所以我使用了以下命令:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

这将工作:

{
  "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

4
感谢您解释模式“ dev- *”
Emeka Mbah

4
如果您分叉了主仓库,请不要在需求部分中更改供应商名称。叉子:"url": "https://github.com/your-username/google-api-php-client.git"但需要留下:google供应商。
Vladimir Vukanac

1
@VladimirVukanac那颗小宝石需要更多的知名度!
雅各布·托马森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.