Maison > Article > outils de développement > Comment configurer Composer pour ignorer la correspondance de version
La colonne tutorielle suivante de composer utilisant vous présentera comment configurer Composer pour ignorer la correspondance de version. J'espère que cela sera utile aux amis dans le besoin !
Introduction à Composer
Composer est un outil de gestion des dépendances pour PHP. Il vous permet de déclarer les bibliothèques de code dont dépend votre projet et il les installera pour vous dans votre projet. Composer n'est pas un gestionnaire de paquets. Oui, cela implique des "packages" et des "bibliothèques", mais c'est géré par projet, avec des installations dans un répertoire de votre projet (par exemple, le fournisseur). Par défaut, il n'installera rien globalement. Il s'agit donc simplement d'une gestion des dépendances.
L'exécution de composer install a rencontré une erreur : vos exigences n'ont pas pu être résolues en un ensemble de packages installables. En effet, la version requise par composer.json ne correspond pas.
L'erreur complète est la suivante :
vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudo composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for doctrine/instantiator 1.0.3 -> satisfiable by doctrine/instantiator[1.0.3]. - doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement. Problem 2 - doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement. - phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.3]. - Installation request for phpunit/phpunit-mock-objects 2.3.0 -> satisfiable by phpunit/phpunit-mock-objects[2.3.0].
Cela me rappelle que ma version de PHP 7 est trop élevée et ne répond pas à la version requise par composer.json, mais il devrait également pouvoir fonctionner sous PHP 7. Oui, composer peut être configuré pour ignorer la correspondance de version. La commande est :
composer install --ignore-platform-reqs or composer update --ignore-platform-reqs
Exécutez à nouveau la commande composer pour installer le package normalement.
Si un avertissement s'affiche :
Cannot create cache directory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache Cannot create cache directory /home/vagrant/.composer/cache/files/, or directory is not writable. Proceeding without cache
C'est lorsque composer est exécuté sur une machine virtuelle, indiquant que ce répertoire n'a pas d'autorisations d'écriture et que composer ne peut pas mettre en cache le package téléchargé, il doit être téléchargé à nouveau à chaque fois. Changez simplement le répertoire pour qu'il soit accessible en écriture et en lecture.
sudo chmod -R 777 /home/vagrant/.composer/cache/files/
De plus, définissez composer comme image domestique dans la machine virtuelle, sinon la vitesse de téléchargement sera extrêmement lente. Exécutez :
composer config -g repo.packagist composer https://packagist.phpcomposer.com
OK, vous avez terminé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!