Lorsque j'installe laravel avec composer, je n'obtient pas la derniere version

L'installation se passe bien mais la version que je reçois c'est la version (v5.4.30)

composer create-project laravel/laravel nomDuProjet

21 réponses


popotte
Réponse acceptée

Okay alors c'est ta version actuelle de laravel installer qui a des dependances bloquées à l'ancienne version, en principe je t'aurai dit de supprimer l'installer et de reinstaller, maaais j'ai oublié qu'on pouvait utiliser le flag -W pour autoriser les upgrades ^^

Okay alors tu va faire composer global require laravel/installer:4.2.8 --update-with-all-dependencies
Le flag --update-with-all-dependencies, c'est la même chose que --with-all-dependencies, mais pour un require ^^

popotte
Réponse acceptée

avec plaisir ;)

tu as la dernière version de composer? (v2)
Et sinon tentes un coup de composer global u

Je suppose vu que je viens de l'installer il y a pas longtemps
D'accord

Le resultat est le même

mmmh... tu peux montrer le composer.json de ton composer global?

En principe il doit etre dans c:/Users/TonNom/AppData/Roaming(ou Local)

{
    "require": {
        "laravel/installer": "^2.3"
    }
}

okay alors la version 2.3 de laravel installer c'est la dernière qui supporte une ancienne version de php, c'est peut être ça le problème, tu es sur quelle version de PHP?

PHP 7.3.12

okay alors peut être en installant manuellement la derniere version de laravel installer ça devrait le faire
composer global require laravel/installer:4.2.8 (et si il y'a un message d'erreur partage le ici :p)

L'erreur

[InvalidArgumentException]
Package laravel/installer at version 4.2.8 has a PHP requirement incompatible with your PHP version, PHP extensions
and Composer version:

  • laravel/installer v4.2.8 requires php ^7.3|^8.0 which does not match your installed version 5.6.40.

Okay je vois, alors la version de PHP qui est utilisé chez toi c'est la 5.6.40
En gros tu as DEUX base PHP, la premiere c'est celle de ton PC, la deuxieme c'est celle de ton serveur local (WAMP?)

Ton PHP 7.3, c'est le PHP de ton pc (terminal -> php -v) ou bien celui de ton serveur local (wamp/laragon/mamp/etc -> parametres ->PHP -> version) ??

Je suis sur Wamp et j'ai les deux versions mais celui qui est actif c'est le 7.3

Alors il n'y a pas de PHP "actif", les deux sont actifs, tes programmes peuvent utiliser les deux versions de PHP

Maintenant vu que tu dis que php 7.3 est le php "actif", j'en déduis que le 7.3 c'est le PHP de WAMP et du coup quand tu dev tu utilises la 7.3, quand tu lances ton serveur ça utilise la 7.3, et quand tu vas dans localhost dans ton navigateur c'est la 7.3 qui est utilisée, ce qui t'as poussé à dire que le php 7.3 est le php actif

Et les programmes tiers qui ne sont pas liés à WAMP (par exemple.... composer :p) utilise le PHP de ton PC, donc la 5.6

Alors il y'a une solution:

Tapes ton boutton demarrer et commences à taper environnement jusqu'a ce que le programme Modifier les variables d'environnement système apparaisse, et cliques dessus

Ensuite dans la fenetre des variables, cliques sur le boutton Variables d'environnement, tu aura une fenetre avec deux listes:

  • Les variables utilisateurs
  • les variables système

Dans la liste des variables système, double cliques sur la variable "Path", tu aura une liste de chemins, repères le chemin de php, et remplaces le par le path du php de wamp

Ensuite vérifies si le path de PHP est présent dans la variable "Path" des variables utilisateurs, si php n'y est pas, très bien ne touches à rien, si il y'a un chemin PHP existant dans cette liste, fait la même chose, remplaces par le php de wamp (le chemin qui mène au dossier PHP qui contient php.ini et plein d'autres fichiers)

ensuite "OK" "ok" "appliquer" "ok boomer" etc...

A partir de la, ton pc va utiliser le PHP de WAMP qui est la 7.3 (confirmes quand même avec windows terminal en lançant php -v en dehors d'un projet

Ensuite lances la commande composer global update puis composer -v (faut une version 2.0 minimum)

Si tout est bon, tu peux retenter le composer require :)

Je reçois se message d'erreur

Your requirements could not be resolved to an installable set of packages.

Composer version 2.1.9

Okay alors c'est quoi la trace complete de l'erreur? Ce message peut venir avec plusieurs raisons:

  • Soit le lock bloque la version, et dans ce cas la il faudra faire un composer global uninstall laravel/installer et ensuite refaire un require
  • Soit une autre dépendance requier une autre version d'une autre dépendance installée et dans ce cas il faudra mettre a jour
  • Soit laravel installer a besoin d'extensions php non présentes, et la bah faudra taper dans le php.ini et décommenter les dépendances demandées

Et la raison est expliquée dans la trace (les ligne incompréhensibles avec des noms de packets, d'extensions, de versions etc...) ^^

(et aussi après l'opération faut avoir fermé et réouvers le terminal pour décacher la config ^^')

Je pense que ça peut être une extensions d'ou ce message

Problem 1

  • Root composer.json requires laravel/installer ^8.0, found laravel/installer[dev-required-name, dev-master, v1.1.0, ..., v1.5.0, v2.0.0, ..., v2.3.0, v3.0.0, ..., 3.x-dev (alias of dev-master), v4.0.0, ..., v4.2.8] but it does not match the constraint.

    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

C'est fait

L'intallation a pu s'effectuer avec succès

Merci pour votre aide