3
votes

Impossible de mettre à niveau le framework laravel de 5.5 à 5.6 ou 5.7 sur un projet existant

J'essaye de mettre à niveau mon framework de projet laravel vers 5.7 à partir de 5.5 mais je n'arrive pas à le faire ..

quand je change de composerjson requres comme documentation de mise à jour de laravel et que j'appuie sur composer update sur le terminal du projet, c'est affichez-moi ceux-ci:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "laravel/framework": "5.6.*",
        "cartalyst/stripe-laravel": "7.0.*",
        "spatie/laravel-activitylog": "^2.1.1",
        "yajra/laravel-datatables-oracle": "~8.0",
        "arcanedev/no-captcha": "^5.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~7.0",
        "barryvdh/laravel-debugbar": "^3.0"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "App\\Helpers\\": "app/Helpers/"
        },
        "files": ["app/Helpers/functions.php"]
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

et voici mon composer.json

composer update
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install laravel/framework v5.6.39
    - Conclusion: don't install laravel/framework v5.6.38
    - Conclusion: don't install laravel/framework v5.6.37
    - Conclusion: don't install laravel/framework v5.6.36
    - Conclusion: don't install laravel/framework v5.6.35
    - Conclusion: don't install laravel/framework v5.6.34
    - Conclusion: don't install laravel/framework v5.6.33
    - Conclusion: don't install laravel/framework v5.6.32
    - Conclusion: don't install laravel/framework v5.6.31
    - Conclusion: don't install laravel/framework v5.6.30
    - Conclusion: don't install laravel/framework v5.6.29
    - Conclusion: don't install laravel/framework v5.6.28
    - Conclusion: don't install laravel/framework v5.6.27
    - Conclusion: don't install laravel/framework v5.6.26
    - Conclusion: don't install laravel/framework v5.6.25
    - Conclusion: don't install laravel/framework v5.6.24
    - Conclusion: don't install laravel/framework v5.6.23
    - Conclusion: don't install laravel/framework v5.6.22
    - Conclusion: don't install laravel/framework v5.6.21
    - Conclusion: don't install laravel/framework v5.6.20
    - Conclusion: don't install laravel/framework v5.6.19
    - Conclusion: don't install laravel/framework v5.6.18
    - Conclusion: don't install laravel/framework v5.6.17
    - Conclusion: don't install laravel/framework v5.6.16
    - Conclusion: don't install laravel/framework v5.6.15
    - Conclusion: don't install laravel/framework v5.6.14
    - Conclusion: don't install laravel/framework v5.6.13
    - Conclusion: don't install laravel/framework v5.6.12
    - Conclusion: don't install laravel/framework v5.6.11
    - Conclusion: don't install laravel/framework v5.6.10
    - Conclusion: don't install laravel/framework v5.6.9
    - Conclusion: don't install laravel/framework v5.6.8
    - Conclusion: don't install laravel/framework v5.6.7
    - Conclusion: don't install laravel/framework v5.6.6
    - Conclusion: don't install laravel/framework v5.6.5
    - Conclusion: don't install laravel/framework v5.6.4
    - Conclusion: don't install laravel/framework v5.6.3
    - Conclusion: don't install laravel/framework v5.6.2
    - Conclusion: don't install laravel/framework v5.6.1
    - cartalyst/stripe-laravel v7.0.0 requires illuminate/support 5.5.* -> satisfiable by laravel/framework[v5.5.45], illuminate/support[v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44].
    - cartalyst/stripe-laravel v7.0.0 requires illuminate/support 5.5.* -> satisfiable by laravel/framework[v5.5.45], illuminate/support[v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44].
    - Can only install one of: laravel/framework[v5.6.0, v5.5.45].
    - don't install illuminate/support v5.5.0|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.16|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.17|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.2|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.28|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.33|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.34|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.35|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.36|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.37|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.39|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.40|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.41|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.43|don't install laravel/framework v5.6.0
    - don't install illuminate/support v5.5.44|don't install laravel/framework v5.6.0
    - Installation request for laravel/framework 5.6.* -> satisfiable by laravel/framework[v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.18, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].
    - Installation request for cartalyst/stripe-laravel 7.0.* -> satisfiable by cartalyst/stripe-laravel[v7.0.0].

a essayé de nombreuses façons disponibles sur internet mais toujours accroché au problème

je veux juste mettre à jour le projet laravel pour de nouveaux fonctionnalités ..

Quelqu'un a une idée? comment puis-je résoudre ce problème et continuer avec un nouveau laravel?

merci d'avance.


10 commentaires

Avez-vous installé PHP 7?


désactiver ou supprimer tous les packages du fichier composer.json, il suffit de conserver les packages laravel et de mettre à jour plus tard, d'installer tous les packages


Vous avez besoin d'au moins PHP 7.1.3 pour pouvoir utiliser Laravel 5.6 et plus.


@umefarooq j'ai essayé votre chemin .. j'ai obtenu cela à la dernière ligne de mise à niveau de Script php artisan optimise la gestion de l'événement post-update-cmd renvoyé avec le code d'erreur 1 et lors de l'exécution de php artisan --version pour cette erreur Dans ProviderRepository.php ligne 208: Classe 'Spatie \ Activitylog \ ActivitylogServiceProvider' introuvable


@MagnusEriksson mon système exécute 7.3 bro


cartalyst / stripe-laravel v7.0.0 nécessite illuminate / support 5.5. * . Vous devez utiliser une version plus récente de cette bibliothèque puisque la version 7.0.0 nécessite Laravel 5.5. (Et s'il vous plaît ne m'appelez pas "bro").


@ffegu vous devez commenter tous les fournisseurs de services de packages dans votre fichier app.php.


@umefarooq oo ouais ça a marché merci d'avoir sauvé ma journée ..


@ffegu puis-je avoir créé une réponse pouvez-vous l'accepter.


@umefarooq yaeh merci pour votre aide


5 Réponses :


1
votes

Vous devez d'abord installer ces packages avant d'exécuter la mise à jour de composer, également changer la version de laravel en 5.7 dans votre fichier composer.json .

Commande du terminal Ubundu

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-cli php7.2-zip
  • PHP> = 7.1.3
  • Extension PHP Ctype
  • Extension PHP JSON
  • Extension PHP BCMath

Supprimez le dossier du fournisseur et essayez la mise à jour du compositeur


0 commentaires

0
votes
php72 -v

0 commentaires

-1
votes

changez simplement le laravel en 5.7. * dans le fichier composer.json et exécutez la commande d'installation de composer


0 commentaires

1
votes

c'était à cause de cette ligne

cartalyst / stripe-laravel v7.0.0 nécessite illuminate / support 5.5

merci à tous pour votre aide ...

Je viens de mettre à jour les packages cartalyst et le compositeur met à jour son fonctionnement

conclusion: pour mettre à jour votre projet laravel, pensez à mettre à jour vos packages tiers.


1 commentaires

merci mon frère .... j'ai un ancien paquet tiers (je ne l'utilise plus dans mon application) ... après l'avoir supprimé, je suis en mesure de mettre à niveau la version laravel ..



9
votes

Le meilleur moyen de mettre à niveau le framework laravel pour vos projets dans les étapes suivantes

  1. Faites une sauvegarde de votre fichier composer.json
  2. supprimez tous les packages tiers du fichier composer.json ou prenez le dernier composer.json du référentiel laravel git https: / /github.com/laravel/laravel
  3. commentez tous les fournisseurs de services de packages tiers à partir du fichier app.php (pour la version inférieure à Laravel 5.5)
  4. Maintenant, exécutez la commande de mise à jour du compositeur dans le terminal
  5. Une fois la mise à jour de Laravel effectuée. Maintenant, réinstallez tous vos packages tiers et activez le fournisseur de services tiers sur le fichier app.php.

mise à jour: si vous essayez de mettre à jour laravel version 5.5 et plus, sautez l'étape 3. également pour laravel 5.5 et plus, il n'est pas nécessaire d'activer les fournisseurs de services de paquets tiers à l'étape 5.

Bonne mise à jour de laravel pour vos projets.


1 commentaires

J'ai utilisé ceci et cela a fonctionné. J'ai essayé beaucoup de choses avant cela qui n'ont pas fonctionné.