2016-04-25 8 views
1

Hallo Ich benutze composer.json Datei, um Pakete in meine Anwendung zu laden, aber es gibt einige Dinge, die ich gerne wissen würde. In meinem composer.json Datei habe ich dies:Verwenden Composer.json Datei

"require": { 
     "php": ">=5.5.9", 
     "laravel/framework": "5.2.*", 
     "guzzlehttp/guzzle": "~6.x", 
     "barryvdh/laravel-debugbar": "^2.0", 
     "barryvdh/laravel-cors": "0.7.x", 
     "tymon/jwt-auth": "1.0.0-alpha.1", 
     "kodeine/laravel-acl": "[email protected]", 
     "intervention/image": "^2.x", 
     "jenssegers/date": "^3.0" 
    }, 

Ich möchte wissen, was diese Symbole bedeuten: "^", "~", "x" neben den Zahlen Was ich weiß sind die Versionsnummern.

Antwort

4

Sie bedeuten, dass wenn Sie composer update ausführen, diese Pakete nur bis zu ausgewählten Versionen aktualisiert werden. Zum Beispiel, wenn Sie Komponisten laravel/framework": "5.2.*",, Rahmen sagen werden nie zu 5.3 aktualisiert werden, aber nur bis zu neuesten 5.2.*

Der ~ Operator wird am besten durch Beispiel erläutert: ~1.2 entsprechen >=1.2 <2.0.0, während ~1.2.3 ist entspricht >=1.2.3 <1.3.0

Der Operator ^ verhält sich sehr ähnlich, aber es hält näher an semantischen Versionierung und wird immer non-break Updates erlauben. Zum Beispiel ^1.2.3 entsprechen >=1.2.3 <2.0.0, da keine der Versionen bis 2.0 brechen sollte die Abwärtskompatibilität

Sie ein Muster mit einem * Wildcard angeben. 1.0.* ist das Äquivalent von >=1.0 <1.1

https://getcomposer.org/doc/articles/versions.md

Verwandte Themen