Je n'ai besoin d'installer qu'un seul paquet 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 édité beaucoup de fichiers chez le 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?
Pour installer doctrine/doctrine-fixtures-bundle
avec la version 2.1.*
et la stabilité minimale @dev
, utilisez ceci:
composer.phar require doctrine/doctrine-fixtures-bundle:2.1.*@dev
puis pour ne mettre à jour que ce seul paquet:
composer.phar update doctrine/doctrine-fixtures-bundle
Si vous voulez juste mettre à jour quelques paquets et pas tous, vous pouvez les lister comme suit:
php composer.phar update vendor/package:2.* vendor/package2:dev-master
Vous pouvez également utiliser des caractères génériques pour mettre à jour plusieurs paquets à la fois:
php composer.phar update vendor/*
source
lorsqu'ils sont disponibles.dist
lorsqu'ils sont disponibles.php
, hhvm
, lib-*
et ext-*
et force l'installation même si la machine locale ne les remplit pas. Voir aussi la platform
option de configuration }.require-dev
(il s'agit du comportement par défaut).require-dev
. La génération de l'autoloader ignore les règles autoload-dev
.--prefer-stable
.En gros, vous pouvez en faire de même pour installer un nouveau paquet.
php composer.phar require
terminal vous demandera alors d’entrer le nom du paquet à rechercher.
$ Search for a package []: //Your package name here
Ensuite, le terminal vous demandera la version du paquet (si vous voulez avoir la dernière version, laissez la vierge)
$ Enter the version constraint to require (or leave blank to use the latest version) []: //your version number here
Ensuite, vous appuyez simplement sur la touche de retour. Terminal vous demandera un autre paquet. Si vous ne voulez pas en installer un autre, appuyez simplement sur la touche Retour et vous aurez terminé.
Pour vous assurer que composer met à jour un package déjà installé avec la dernière version, dans le respect des contraintes de version définies dans composer.json, supprimez le package du fournisseur, puis exécutez:
php composer.phar update vendor/package
Supposons que vous avez dans composer.json "parsecsv/php-parsecsv": "0.*",
et dans votre fichier composer.lock
"name": "parsecsv/php-parsecsv",
"version": "0.1.4",
La dernière version de 0.*
est 0.3.2
et la dernière version est 1.1.0
.
C'est ce qui se passe avec les commandes suivantes:
composer install parsecsv/php-parsecsv
Ceci installera la version 0.1.4
comme spécifié dans le fichier de verrouillage
composer update parsecsv/php-parsecsv
Cela mettra à jour le paquet à 0.3.2
. La version la plus élevée en ce qui concerne votre composer.json. L'entrée dans composer.lock
sera mise à jour.
composer require parsecsv/php-parsecsv
Ceci mettra à jour ou installera la dernière version 1.1.0
. Votre fichier composer.lock
et votre fichier composer.json
seront également mis à jour.
Juste utiliser
composer require {package/packagename}
comme
composer require phpmailer/phpmailer
si le package ne se trouve pas dans le dossier du fournisseur, composeur l'installer et si le package existe, mettez à jour le package de composeur vers la dernière version.
Parce que vous vouliez installer un package spécifique "Je n'ai besoin d'installer qu'un package pour ma distribution SF2 (DoctrineFixtures)."
php composer.phar require package/package-name:package-version
.__ serait suffisant