Je n'ai besoin d'installer qu'un seul package pour ma distribution SF2 (DoctrineFixtures).
Quand je cours
php composer.phar update
Je reçois
- 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
Il semble que le dernier développeur ait modifié de nombreux fichiers à l'intérieur du fournisseur.
Afin de contourner cela, j'ai essayé
php composer.phar update <package_name>
Mais cela ne semble pas fonctionner. Comment puis-je mettre à jour / installer une seule bibliothèque de composer.json?
symfony
composer-php
Outil
la source
la source
composer.json
?Réponses:
Pour installer
doctrine/doctrine-fixtures-bundle
avec la version2.1.*
et la stabilité minimale,@dev
utilisez ceci:puis de mettre à jour uniquement ce package unique:
la source
require
avant ou précédemment téléchargé en tant que dépendance - soit automatiquement mis à jour lors de l'exécution de lacomposer require <package>:<version-constraint>@<stability-flag>
commande?Si vous souhaitez simplement mettre à jour quelques packages et pas tous, vous pouvez les répertorier comme tels:
Vous pouvez également utiliser des caractères génériques pour mettre à jour un tas de packages à la fois:
source
lorsqu'ils sont disponibles.dist
lorsqu'ils sont disponibles.php
,hhvm
,lib-*
et lesext-*
exigences et forcer l'installation même si la machine locale ne remplit pas ces derniers . Voir aussi l'platform
option config .require-dev
(c'est le comportement par défaut).require-dev
. La génération du chargeur automatique ignore lesautoload-dev
règles.--prefer-stable
.la source
vendor/*
guillemets:composer update "vendor/*"
Différence entre installer, mettre à jour et exiger
Supposons le scénario suivant:
composer.json
fichier composer.lock
installer:
composer install parsecsv/php-parsecsv
Cela installera la version
0.1.4
comme spécifié dans le fichier de verrouillagemettre à jour:
composer update parsecsv/php-parsecsv
Cela mettra à jour le package vers
0.3.2
. La version la plus élevée par rapport à votre composer.json. L'entrée danscomposer.lock
sera mise à jour.exiger:
composer require parsecsv/php-parsecsv
Cela mettra à jour ou installera la dernière version
1.1.0
. Votrecomposer.lock
fichier et votrecomposer.json
fichier seront également mis à jour.la source
composer update author/package
et ensuitecomposer install author/package
composer update package
c'est assez, pas besoin d'appeler install aprèsupvoted
Vous pouvez essentiellement faire un suivant pour installer un nouveau package également.
alors le terminal vous demandera d'entrer le nom du paquet pour la recherche.
Ensuite, le terminal demandera la version du package (si vous souhaitez avoir la dernière version, laissez-la vide)
Ensuite, vous appuyez simplement sur la touche retour. Le terminal vous demandera un autre package, si vous ne souhaitez pas en installer un autre, appuyez simplement sur la touche Retour et vous aurez terminé.
la source
Vous pouvez utiliser la commande suivante pour mettre à jour n'importe quel module avec ses dépendances
la source
Pour vous assurer que composer met à jour un package déjà installé vers la dernière version dans les contraintes de version que vous avez définies dans composer.json, supprimez le package du fournisseur, puis exécutez:
la source
Utilisez simplement
comme
si le package n'est pas dans le dossier du fournisseur .. composer l'installer et si le package existe compositeur mettre à jour le package vers la dernière version.
la source
Parce que vous vouliez installer un package spécifique "Je n'ai besoin d'installer qu'un seul package pour ma distribution SF2 (DoctrineFixtures)".
php composer.phar require package/package-name:package-version
serait suffisantla source