Compositor requiere nombre de rama


106

Por ejemplo, quiero requerir:

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

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

En este ejemplo, intento require google/apiclienten la rama v1-master. Me sale un error:

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

Respuestas:


186

Necesita prefijar todas las ramas de desarrollo (= no etiquetadas) por dev-.

Para instalar la rama que necesita, use:

composer require google/apiclient:dev-v1-master

Consulte los documentos del compositor .


1
Información útil. ¡Gracias!
Matt Komarnicki

Estoy intentando eso en una máquina con Windows, pero no puedo encontrar el comando correcto para ejecutar el compositor para descargar un paquete del repositorio de git. ¿Así que, por favor, me ayudas en esto?
Jefe del equipo de programadores de PHP Sr.

Agregue el prefijo 'dev-' solo en el comando composer. ¿No necesita cambiar nada en el nombre de las ramas del repositorio?
Silas Ribas Martins

No se pudo reinstalar la rama actualizada incluso con --no-cache, así que usé esto:composer require google/apiclient:dev-v1-master#COMMITHASH
M Rostami

46

esto funcionará:

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

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

entonces el patrón es "dev- *", si el nombre de la rama es "bug-fix", entonces "dev-bug-fix"

con línea de comando:

composer require google/apiclient:dev-BRANCH_NAME

4
Gracias por explicar el patrón "dev- *"
Emeka Mbah

4
Si ha bifurcado el repositorio principal, no cambie el nombre del proveedor en la parte requerida. Bifurcación: "url": "https://github.com/your-username/google-api-php-client.git"pero requiere estancias: googlevendedor.
Vladimir Vukanac

1
@VladimirVukanac ¡esa pequeña joya necesita más visibilidad!
Jacob Thomason
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.