Komposer membutuhkan nama cabang

106

Misalnya saya ingin meminta:

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

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

Dalam contoh ini saya mencoba meminta google/apiclientpada cabang v1-master. Saya mendapatkan kesalahan:

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

Jawaban:

186

Anda perlu mengawali semua cabang dev (= tanpa tag) oleh dev-.

Untuk menginstal cabang yang Anda butuhkan, gunakan:

composer require google/apiclient:dev-v1-master

Lihat dokumen komposer .

Tomáš Votruba
sumber
1
Info berguna. Terima kasih!
Matt Komarnicki
Saya mencobanya di mesin windows tetapi tidak dapat menemukan perintah yang benar untuk menjalankan komposer untuk mengunduh paket dari repositori git. Jadi tolong bantu dalam hal ini?
Sr. Pemimpin Tim Programmer PHP
Tambahkan awalan 'dev-' hanya di perintah komposer. Apakah Anda tidak perlu mengubah apa pun di nama cabang repositori
Silas Ribas Martins
Tidak dapat menginstal ulang cabang yang diperbarui bahkan dengan --tidak ada cache jadi saya menggunakan ini:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami
46

ini akan berhasil:

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

  "require": {
    "google/apiclient": "dev-BRANCH_NAME"
  }
}

jadi polanya adalah "dev- *", jika nama cabang Anda adalah "bug-fix" maka "dev-bug-fix"

dengan baris perintah:

composer require google/apiclient:dev-BRANCH_NAME
fico7489
sumber
4
Terima kasih telah menjelaskan pola "dev- *"
Emeka Mbah
4
Jika Anda bercabang, repo utama tidak mengubah nama vendor di bagian memerlukan. Fork: "url": "https://github.com/your-username/google-api-php-client.git"tetapi membutuhkan masa inap: googlevendor.
Vladimir Vukanac
1
@VladimirVukanac permata kecil itu membutuhkan lebih banyak visibilitas!
Jacob Thomason