Muszę zainstalować tylko 1 pakiet dla mojej dystrybucji SF2 (DoctrineFixtures).
Kiedy biegnę
php composer.phar update
dostaję
- Updating twig/twig (dev-master 39d94fa => v1.13.0)
The package has modified files:
M CHANGELOG
M doc/filters/batch.test
M doc/filters/index.rst
M doc/filters/url_encode.rst
M doc/functions/index.rst
M doc/tags/index.rst
M doc/tests/index.rst
M lib/Twig/Autoloader.php
M lib/Twig/Compiler.php
M lib/Twig/CompilerInterface.php
-10 more files modified, choose "v" to view the full list
Wygląda na to, że ostatni programista dokonał edycji wielu plików wewnątrz dostawcy.
Aby obejść ten problem, próbowałem
php composer.phar update <package_name>
Ale to nie działa. Jak mogę zaktualizować / zainstalować tylko jedną bibliotekę z composer.json?
symfony
composer-php
Narzędzie
źródło
źródło
composer.json
?Odpowiedzi:
Aby zainstalować
doctrine/doctrine-fixtures-bundle
z wersją2.1.*
i minimalną stabilnością,@dev
użyj tego:następnie, aby zaktualizować tylko ten pojedynczy pakiet:
źródło
require
wcześniej lub wcześniej pobrany jako zależność - zostanie automatycznie zaktualizowany po uruchomieniucomposer require <package>:<version-constraint>@<stability-flag>
polecenia?Jeśli chcesz tylko zaktualizować kilka pakietów, a nie wszystkie, możesz je wymienić:
Możesz także użyć symboli wieloznacznych, aby zaktualizować kilka pakietów jednocześnie:
source
kiedy są dostępne.dist
kiedy są dostępne.php
,hhvm
,lib-*
aext-*
wymagania i wymusić instalację nawet jeśli lokalna maszyna nie spełnia tych. Zobacz takżeplatform
opcję konfiguracji .require-dev
(jest to zachowanie domyślne).require-dev
. Generacja autoloadera pomijaautoload-dev
reguły.--prefer-stable
.źródło
vendor/*
znaki w cudzysłowie:composer update "vendor/*"
Różnica między instalacją, aktualizacją i wymaganiem
Załóżmy następujący scenariusz:
composer.json
plik composer.lock
zainstalować:
composer install parsecsv/php-parsecsv
Spowoduje to zainstalowanie wersji
0.1.4
określonej w pliku blokadyaktualizacja:
composer update parsecsv/php-parsecsv
Spowoduje to zaktualizowanie pakietu do
0.3.2
. Najwyższa wersja w odniesieniu do twojego composer.json. Wpiscomposer.lock
zostanie zaktualizowany.wymagać:
composer require parsecsv/php-parsecsv
Spowoduje to zaktualizowanie lub zainstalowanie najnowszej wersji
1.1.0
. Twójcomposer.lock
plik icomposer.json
plik również zostaną zaktualizowane.źródło
composer update author/package
i wtedycomposer install author/package
composer update package
wystarczy, że nie musisz wywoływać instalacji po nimupvoted
Możesz po prostu wykonać jedną z poniższych czynności, aby zainstalować nowy pakiet.
następnie terminal poprosi o podanie nazwy pakietu do przeszukania.
Następnie terminal zapyta o wersję pakietu (jeśli chcesz mieć najnowszą wersję, zostaw ją pustą)
Następnie wystarczy nacisnąć klawisz powrotu. Terminal poprosi o kolejny pakiet, jeśli nie chcesz instalować innego, po prostu naciśnij klawisz powrotu i gotowe.
źródło
Możesz użyć następującego polecenia, aby zaktualizować dowolny moduł z jego zależnościami
źródło
Aby upewnić się, że kompozytor zaktualizuje jeden pakiet już zainstalowany do ostatniej wersji w ramach ograniczeń wersji ustawionych w pliku composer.json, usuń pakiet od dostawcy, a następnie uruchom:
źródło
Po prostu użyj
lubić
jeśli pakiet nie znajduje się w folderze dostawcy .. kompozytor zainstaluj go, a jeśli pakiet istnieje, zaktualizuj pakiet kompozytora do ostatniej wersji.
źródło
Ponieważ chciałeś zainstalować konkretny pakiet „Muszę zainstalować tylko 1 pakiet dla mojej dystrybucji SF2 (DoctrineFixtures)”.
php composer.phar require package/package-name:package-version
powinno wystarczyćźródło