laravel - 我无法将 Laravel 升级到版本 7,因为 composer 抛出错误
问题描述
我正在尝试将 Laravel 从版本 6 升级到版本 7。我尝试了不同的包组合,但似乎没有任何东西可以解决我的错误。
这是我的 composer.json (不起作用)
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": "^7.2",
"laravel/framework": "^7.0",
"jgrossi/corcel": "^4.0"
},
"require-dev": {
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^8.0",
"facade/ignition": "^1.4"
},
"autoload": {
"classmap": [
"app/Console/Commands",
"app/Models",
"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
}
当我运行时composer update
,我收到此错误:
Problem 1
- The requested package laravel/framework (locked at v6.18.15, required as ^7.0) is satisfiable by laravel/framework[v6.18.15] but these conflict with your requirements or minimum-stability.
Problem 2
- Conclusion: don't install laravel/framework v7.20.0
- Conclusion: don't install laravel/framework v7.19.1
- Conclusion: don't install laravel/framework v7.19.0
- Conclusion: don't install laravel/framework v7.18.0
- Conclusion: don't install laravel/framework v7.17.2
- Conclusion: don't install laravel/framework v7.17.1
- Conclusion: don't install laravel/framework v7.17.0
- Conclusion: don't install laravel/framework v7.16.1
- Conclusion: don't install laravel/framework v7.16.0
这种情况持续了很长时间,但似乎只有一些包组合不能一起工作。我不知道如何解决这个问题。
解决方案
PHP 7.2.5 需要
laravel/framework
将您的依赖项更新到^7.0
您的composer.json
文件中。此外,将您的nunomaduro/collision
依赖关系更新为 、^4.1
依赖phpunit/phpunit
关系^8.5
、laravel/tinker
依赖关系^2.0
和。以下第一方软件包有新的主要版本来支持 Laravel 7。如果有的话,请在升级前通读它们各自的升级指南:facade/ignition
^2.0
Browser Kit Testing v6.0 Envoy v2.0 Horizon v4.0 Nova v3.0 Scout v8.0 Telescope v3.0 Tinker v2.0 UI v2.0 (No changes necessary)
最后,检查您的应用程序使用的任何其他第三方包,并验证您使用的是正确的版本来支持 Laravel 7。
请遵循此官方指南,它将成功升级您的 laravel 版本
推荐阅读
- linux - 如何通过 Linux 命令提示符导航到目录中的文件
- flask - 获取烧瓶应用的所有视图函数的列表
- javascript - Javascript 数组 while 循环。比较结果:arr[len] vs arr[len-1]
- sql - 从 SQL Server 表中创建组合值字符串
- testing - 在协议中使用 json 模式进行合同测试
- javascript - 循环数组时如何动态创建对象?
- search - 了解 A* 搜索
- opencv - opencv_createsamples“断言失败”错误
- java - 随着 T4CPreparedStatement 增加的内存泄漏
- r - 使用 str_c 将 " 添加到字符串中