IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Composer] Mise à jour de packages


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut [Composer] Mise à jour de packages
    Bonsoir,
    n'ayant pas fait la manip depuis un moment, j'ai oublié comment faire donc je viens ici.
    J'ai installé il y a quelques temps 2 packages avec composer et je souhaite les mettre à jour.
    J'ai compris qu'il fallait un fichier composer.json.
    L'arborescence du répertoire vendor est la suivante :
    vendor
        composer
        rawsrc
             pdoplusplus
                 composer.json
                 PDOPlusPlus.php
                 autres fichiers
             phpecho
                 composer.json
                 PhpEcho.php
                 autres fichiers
        autoload.php
             
    Les 2 packages à mettre à jour sont donc pdoplusplus et phpecho.
    Pour les mettre à jour, je ne sais plus où il faut se placer avec l'invite de commande. Est-ce bien à la racine de vendor ou à la racine de chacun de ces composants (vendor/rawsrc/pdoplusplus et vendor/rawsrc/phpecho )?
    Et la commande à exécuter composer update rawsrc/pdoplusplus et composer update rawsrc/phpecho ?

    Si je me place à la racine de vendor , la réponse est :
    composer update rawsrc/phpecho
    Loading composer repositories with package information
    Updating dependencies
    Nothing to modify in lock file
    Installing dependencies from lock file (including require-dev)
    Nothing to install, update or remove
    Generating autoload files
    No security vulnerability advisories found
    et
    composer update rawsrc/pdoplusplus
    Loading composer repositories with package information
    Package "rawsrc/pdoplusplus" listed for update is not locked.
    Updating dependencies
    Nothing to modify in lock file
    Installing dependencies from lock file (including require-dev)
    Nothing to install, update or remove
    Generating autoload files
    No security vulnerability advisories found
    La ligne supplémentaire XXX is not locked pour pdoplusplus m'interpelle.
    Merci de me confirmer si c'est correct.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Membre éclairé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 343
    Points : 697
    Points
    697
    Par défaut
    Bonjour,

    Puisque tu as déjà utilisé Composer, tu dois déjà avoir un fichier composer.json à la racine de ton projet (fichier monprojet/composer.json).
    Quel est le contenu de ton fichier composer.json ?

    Par défaut, le dossier vendor se situe également à la racine de ton projet (dossier monprojet/vendor).

    Les commandes composer sont à exécuter depuis la racine du projet.


    Ton fichier composer.json liste les dépendances de ton projet (phpecho, pdoplusplus) et défini pour chacune une contrainte de version : https://getcomposer.org/doc/articles/versions.md
    Supposons que tu as cette contrainte de version dans ton composer.json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "require": {
        "rawsrc/phpecho": "^5.1"
    }
    -> Cette contrainte permet de mettre à jour toutes les versions supérieures à 5.1 mais bloque la mise à jour pour les versions majeures (6.0 et plus) pour éviter notamment les incompatibilités induites par le changement de version majeure.
    Dans ce cas, il est normal que la commande composer update n'installe pas la version majeure de la dépendance.

    Si tu veux utiliser la dernière version de phpecho, tu peux modifier la contrainte de version dans ton fichier composer.json, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "require": {
        "rawsrc/phpecho": "^6.1"
    }
    Puis relancer la commande composer update depuis la racine de ton projet pour mettre à jour cette dépendance (version 6.1.1 actuellement).

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse.
    En fait, je n'ai pas de fichier composer.json à la racine du projet mais 2 qui sont chacun dans le répertoire de chaque dépendance. J'ai déjà décrit l'arborescence au post 1.

    vendor/rawsrc/phpecho/composer.json :
    Code json : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
      "name": "rawsrc/phpecho",
      "description": "A native PHP template engine in one class: One class to rule them all",
      "keywords": ["PHP Template engine"],
      "license": "MIT",
      "authors": [
        {
          "name": "Martin Lacroix",
          "email": "rawsrc@gmail.com",
          "role": "Creator"
        }
      ],
      "autoload": {
        "psr-4": {
          "rawsrc\\PhpEcho\\": "/"
        }
      },
      "require": {
        "php": ">=8.0",
        "ext-mbstring": "*",
        "ext-ctype": "*"
      },
      "minimum-stability": "stable"
    }

    vendor/rawsrc/pdoplusplus/composer.json :
    Code json : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    {
      "name": "rawsrc/pdoplusplus",
      "description": "A full object PDO Wrapper for PHP with a new revolutionary fluid SQL syntax",
      "keywords": ["PHP PDO Wrapper PPP SQL fluid syntax"],
      "license": "MIT",
      "authors": [
        {
          "name": "Martin Lacroix",
          "email": "rawsrc@gmail.com",
          "role": "Creator"
        }
      ],
      "autoload": {
        "psr-4": {
          "rawsrc\\PDOPlusPlus\\": "/"
        }
      },
      "require": {
        "php": ">=8.0",
        "ext-pdo": "*"
      },
      "minimum-stability": "stable"
    }
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre éclairé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 343
    Points : 697
    Points
    697
    Par défaut
    Ces deux fichiers sont les composer.json des projets phpecho et pdoplusplus, il ne faut pas toucher à ces fichiers car ce ne sont pas tes projets (de manière générale, il ne pas toucher aux fichiers du dossier vendor).

    Dans ton cas, le plus simple est p-e de réinitialiser composer dans ton projet :
    - Si ce n'est pas déjà le cas, fais une sauvegarde de ton projet au casou
    - Supprime le dossier vendor (et le fichier composer.lock si tu en as un)
    - Exécute la commande composer init à la racine de ton projet pour générer ton fichier composer.json
    - Tu peux ajouter les dépendances pendant la création du fichier composer.json ("Would you like to define your dependancies interactively ?") ou bien après la génération du fichier via la commande composer require rawsrc/phpecho (toujours depuis la racine de ton projet)

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    nickel
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Microsoft va bientôt déployer la sixième mise à jour du package SCVMM
    Par Stéphane le calme dans le forum Microsoft Azure
    Réponses: 0
    Dernier message: 27/04/2015, 21h55
  2. Problème repaint() composant (mise à jour)
    Par Warael dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 02/01/2013, 09h54
  3. Mise à jour de packages malheureuse
    Par GDMINFO dans le forum Beamer
    Réponses: 1
    Dernier message: 16/04/2010, 14h04
  4. Mise à jour des packages sur linux
    Par c-top dans le forum Distributions
    Réponses: 21
    Dernier message: 12/11/2009, 17h04
  5. [A-07] Mise à jour RunTime Package
    Par amazon dans le forum Runtime
    Réponses: 1
    Dernier message: 04/03/2009, 09h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo