Maison  >  Article  >  outils de développement  >  Comment configurer Composer pour ignorer la correspondance de version

Comment configurer Composer pour ignorer la correspondance de version

藏色散人
藏色散人avant
2019-11-27 17:49:536828parcourir

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 !

Comment configurer Composer pour ignorer la correspondance de version

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer