将Laravel 5.6升级到5.7

11

我想将Laravel升级到5.7,因为我需要新功能,但是我找不到任何简单的方法。

我按照以下步骤:升级Laravel版本,但在composer更新期间出现了错误。

我遇到了这个错误,我也尝试解决,但它没有起作用。

我的composer.json文件:

    {
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/tinker": "^1.0"
    },
    "require-dev": {
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

如何使用完整的说明将 Laravel 5.6 升级到 5.7?


3
https://laravel.com/docs/5.7/upgrade - Ragupathi
1
需要记住的是,Laravel 5.7目前还没有正式发布。 - Jerodev
你能否向我们展示一下你的composer.json文件的内容? - Shreyansh Panchal
错误和其他显示的问题一样吗?我在你的composer.json中没有看到laravel-caffeine - Chin Leung
3个回答

19

只需在您的composer.json文件中将laravel/framework依赖更新为5.7.*。由于您从5.6升级到5.7,因此您只需运行composer update即可轻松升级。

如果您正在对5.6应用程序进行自定义修改,则可以查看升级指南获取更详细的信息。


2
如果您没有进行任何自定义操作,那么这可能会起作用。但更有可能的是它不会起作用,或者当您升级到较新版本时肯定不会起作用,届时您将会感到困惑。我建议至少阅读{升级指南}(https://laravel.com/docs/5.7/upgrade)并毫不羞耻地推荐[Laravel Shift](https://laravelshift.com)。 - Jason McCreary

3
我刚刚通过以下简单步骤将 Laravel 升级到了 5.8 版本:
  1. 在 composer.json 文件中更新 "laravel/framework": "5.8.*",,如下图所示: enter image description here
  2. 然后在控制台运行 composer update
  3. 接着有些库会出现问题,比如我的情况是 yajra/laravel-datatables-oracle,如下图所示: enter image description here
  4. 从 composer.json 文件中移除以下行:"yajra/laravel-datatables-oracle": "~8.0",
  5. 再次在控制台运行 composer update
  6. 最后一个错误会出现在 trustedproxy.php 文件的第 66 行 如下图所示: enter image description here 若要解决此错误:

    a. 从项目的 config 文件夹中删除文件 trustedproxy.php b. 删除以下行 "fideloper/proxy": "~3.3" c. 再次在控制台运行 composer update

  7. 这时会出现错误,所以最后添加我们之前删除的所有库 在我的情况下,在控制台运行以下命令: composer require yajra/laravel-datatables-oraclecomposer require fideloper/proxy 然后最后在控制台运行 composer update。就是这样,希望对某些人有所帮助。

1
我跟着一个教程做了。

https://www.codementor.io/magarrent/how-to-install-laravel-5-xampp-windows-du107u9ji

在Windows上使用Composer安装Laravel。 作为PHP世界的新手,我没有意识到5.1不是最新版本。

我找不到一种简单的方法来卸载它并重新安装或升级到最新版本(此时为5.8)。 一直收到错误:

λ composer create-project laravel/laravel laravel "5.7."*

正在安装laravel / laravel(v5.7.28)   [InvalidArgumentException]   项目目录laravel /不为空。 输入命令以更改文件名。 &

λ composer update

Composer无法在C:\ xampp \ htdocs中找到composer.json文件 要初始化项目,请按https://getcomposer.org/“入门”部分中描述的方式创建composer.json文件 &

λ composer global remove laravel/installer

当前目录已更改为 C:/Users/lenovo/AppData/Roaming/Composer [RuntimeException] 无法读取 ./composer.json

file_get_contents(./composer.json):打开流失败:没有这个文件或目录

我在文件浏览器中导航到:

C:\xampp\htdocs

我:

  1. 导航到 C:\xampp\htdocs
  2. 选中 laravel 文件夹
  3. 右键重命名为 "laravel2"

我在命令行中重新粘贴了安装脚本,这次将 5.1 替换为 5.8。

C:\xampp\htdocs λ composer create-project laravel/laravel laravel "5.8."*

bingo

删除重命名的文件:"laravel2"。

"正在将 4888 个文件移动到回收站"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接