Domanda

Sto cercando di capire questa parte: http://getcomposer.org/doc/02-Biblioteche.md # Block-File

.

Questo file di blocco non avrà alcun effetto su altri progetti che dipendono da esso.Ha solo un effetto sul progetto principale "

Ciò significa che se il progetto P dipende dalla libreria A, e la biblioteca A dipende dalla libreria B v1.3, il progetto P non si preoccuperà della versione della biblioteca b e potrai installare invece B 1.4?Qual è il punto allora?

o significa il contrario, come ci si aspetterebbe da un manager di dipendenza?

È stato utile?

Soluzione

Le dipendenze del compositore sono definite in composer.json.Quando si esegue l'installazione del compositore per la prima volta, oppure quando si esegue il compositore Aggiorna un file di blocco chiamato composer.lock verrà creato.

La documentazione quotata si riferisce solo al file di blocco.Se il progetto P dipende dalla libreria A e A dipende da B V1.3. ***, quindi se A contiene un file di blocco che dice che qualcuno correva "Aggiornamento compositore" risultante in B V1.3.2 Installazione, quindi installare un nel progettoP Potrebbe ancora installare 1.3.3, poiché il composer.json (non .lock!) Definiva la dipendenza da essere su 1.3. *.

I file di blocco contengono sempre numeri esatti di versione e sono utili per comunicare la versione che hai testato con i colleghi o quando si pubblica un'applicazione.Per le biblioteche le informazioni di dipendenza in composer.json sono tutte quelle che conta.

Altri suggerimenti

composer.lock registra le versioni esatte installate. In modo che tu sia nelle stesse versioni con i tuoi colleghi.

Installazione compositore

    .
  • Controllare il file composer.lock
  • In caso contrario, generare automaticamente il file composer.lock (utilizzando composer update)
  • Installare le versioni specificate registrate nel file composer.lock

    Aggiornamento compositore

      .
    • Passa attraverso il file composer.json
    • Verifica la disponibilità di versioni più recenti (più recenti), in base ai criteri di versione menzionati (ad esempio 1.12. *)
    • Installa l'ultima versione possibile (secondo le versioni sopra)
    • Aggiorna file composer.lock con versioni installate
      .

      così in una semplice lista di controllo.

      Se vuoi tenere tutti i colleghi nelle stesse versioni come ...

        .
      • Impegna il tuo composer.lock su git (o vcs hai)
      • Chiedi ad altri di ottenere quella versione del file composer.lock
      • Utilizzare sempre composer install per ottenere le dipendenze corrette

        Se si desidera aggiornare le dipendenze del sistema a nuove versioni

          .
        • Controlla il file compositore.json per le specifiche della versione.
        • Fai un composer update
        • Questo cambierà il file composer.lock con le versioni più recenti
        • Committilo per Git (o VCS)
        • Chiedi ad altri di ottenerlo e composer install

          Di seguito sarà una buona lettura https://blog.engineyard.com/2014/compositor --it-all-about-the-lock-file

          Goditi la potenza del file composer.lock!

Il punto del file di blocco è registrare le versioni esatte installate in modo che possano essere reinstallate.Ciò significa che se si dispone di una specifica della versione di 1. * e il tuo collaboratore esegue composer update che installa 1.2.4, quindi commette il file composer.lock, quando composer install, riceverai anche 1.2.4, anche se 1.3.0 è stato rilasciato.Ciò garantisce che tutti il lavoro sul progetto abbia la stessa versione esatta. Leggi di più qui Compositore: è tutto sul file di blocco

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top