Lorsque je lance composer update
je reçois une sortie câblée.
Voici mon compositeur.json ressemble.
{
"name": "laravel/laravel",
"description": "The Laravel Framework.", "keywords": ["framework", "laravel"],
"license": "MIT",
"repositories": [{
"type": "vcs",
"url": "https://github.com/Zizaco/ardent.git"
}],
"require-dev": {
"phpunit/phpunit": "4.3.*"
},
"require": {
"laravel/framework": "4.2.*",
"laravelbook/ardent": "dev-master as 2.4.0",
"zizaco/entrust": "dev-master",
"sebklaus/profiler": "dev-master",
"doctrine/dbal": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations", "app/database/seeds", "app/tests",
"app/libraries"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
Comment puis-je résoudre ce problème?
Vos dépendances logicielles ont un conflit de version incompatible.
Dans le même temps, vous souhaitez installer toute version de Laravel 4.2.x et "zizaco/entrust" à partir de sa branche principale. Et cette branche maîtresse nécessite au moins Laravel 5.0 (à peu près).
Le problème vient de la dépendance aux branches. Il est probable que le paquet zizaco/entrust utilisait jadis Laravel 4.2 dans sa branche principale et que vous ayez pu installer vos dépendances ce jour-là. Mais dès que cette branche sera mise à jour avec une configuration incompatible, vous ne pourrez jamais exécuter composer update
et obtenir des dépendances mises à jour.
Toujours utiliser les versions étiquetées! Idéalement, vous utilisez une version assouplie qui permet des mises à jour compatibles. Cela devrait être exprimé comme une exigence de version tilde-two-number: ~1.2
installerait une version 1.2.0 et ultérieure (comme 1.2.99 ou 1.2.100), ainsi que 1.3 et ultérieure. Si vous avez besoin d'une version de correctif spécifique: La version à trois chiffres Caret ^1.2.10
installera la version 1.2.10 ou ultérieure, ainsi que les versions 1.3 et supérieures.
L'utilisation de cette exigence de version au lieu de dev-master
vous permettra d'utiliser des versions publiées au lieu de l'état instable dans la branche principale et vous permettra de vous adresser à la version la plus récente qui fonctionne toujours avec Laravel 4.2. Je suppose que ce serait zizaco/entrust version 1.3.0, mais la version 1.2 serait également admissible. Allez avec "zizaco/entrust": "~1.2"
.
Je suis confronté au même problème. J'utilise le framework de microservice 'Lumen'. J'ai récemment résolu le même problème en installant deux packages: -
Après avoir installé ceci, vous devez exécuter cette commande: - composer update
J'espère que ça va résoudre le problème. Je travaille sur mon système.
Ces dev-master
s ont-ils été ajoutés automatiquement? Evitez-les comme des contraintes de version inutiles. Pour "n'importe quelle version appropriée", utilisez "*"
ou "@dev"
si cela ne vous gêne pas. Je pense qu'Entrust est le fauteur de troubles potentiel.
De plus, "minimum-stability": "stable"
impose des contraintes supplémentaires, et
"minimum-stability": "dev",
"prefer-stable": true
est plus sans conflit, considérez-le comme une règle de base.
Exécutez cette commande:
composer installer --ignore-platform-reqs
ou
mise à jour du compositeur --ignore-platform-reqs
Ajoutez "barryvdh/laravel-cors": "^0.7.3"
à la fin de require
array dans composer.json
Enregistrez composer.json et exécutez composer update
Vous avez terminé !
CAUSE:
L'erreur se produit car votre dossier de projet appartient à l'utilisateur root.
SOLUTION
Changez de propriétaire pour l'utilisateur actuellement connecté et non pour l'utilisateur root. Si vous ne disposez que de root en tant qu'utilisateur unique, créez un autre utilisateur doté des privilèges root.
$ Sudo chown -R current_user/my/project/directory /
ensuite
$ composer install
J'ai rencontré ce problème dans Laravel 5.8. Ce que j'ai fait était de faire composer require
pour chaque bibliothèque et toutes les installations ont été correctement installées.
Ainsi:
au lieu de l'ajouter au fichier composer.json ou de spécifier une version:
composer require msurguy/honeypot: dev-master
J'ai plutôt fait sans spécifier aucune version:
composer require msurguy/honeypot
J'espère que ça aide, merci
"config": {"platform": {"ext-pcntl": "7.2", "ext-posix": "7.2"}}