Composerにはブランチ名が必要です


106

たとえば、私は要求したいです:

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

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

この例では、require google/apiclienton branch を試みますv1-master。エラーが発生します:

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

回答:


186

すべての開発ブランチ(=タグなし)の前にを付ける必要がありますdev-

必要なブランチをインストールするには、以下を使用します:

composer require google/apiclient:dev-v1-master

composer docsを参照してください。


1
便利な情報。ありがとう!
Matt Komarnicki 2017

私はそれをWindowsマシンで試みていますが、gitリポジトリからパッケージをダウンロードするcomposerを実行するための正しいコマンドを見つけることができません。それで、あなたはこれで助けてください?
シニアPHPプログラマチームリーダー、

接頭辞「dev-」を追加するのは、composerコマンドでのみです。リポジトリのブランチ名を変更する必要はありませんか
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
メインリポジトリをフォークした場合は、require部分のベンダー名を変更しないでください。フォーク:"url": "https://github.com/your-username/google-api-php-client.git"滞在が必要:googleベンダー。
Vladimir Vukanac

1
@VladimirVukanacその小さな宝石にはもっと視認性が必要です!
Jacob Thomason
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.