我想将Laravel更新到最新版本5.4 .
但是在laravel migration guide中没有给出直接迁移,所以首先我尝试将其迁移到laravel 5.3 .
我的项目正在开发5.2 laravel版本并尝试升级它 .
我已经按照laravel迁移指南的文档进行了更新 composer.json
.
并在命令行上运行命令 composer update
.
我收到了以下错误 .
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Loading composer repositories with package information
更新依赖项(包括require-dev)无法将您的需求解析为可安装的软件包集 .
Problem 1
- Conclusion: don't install laravel/framework v5.3.31
- Conclusion: don't install laravel/framework v5.3.30
- Conclusion: don't install laravel/framework v5.3.29
- Conclusion: don't install laravel/framework v5.3.28
- Conclusion: don't install laravel/framework v5.3.27
- Conclusion: don't install laravel/framework v5.3.26
- Conclusion: don't install laravel/framework v5.3.25
- Conclusion: don't install laravel/framework v5.3.24
- Conclusion: don't install laravel/framework v5.3.23
- Conclusion: don't install laravel/framework v5.3.22
- Conclusion: don't install laravel/framework v5.3.21
- Conclusion: don't install laravel/framework v5.3.20
- Conclusion: don't install laravel/framework v5.3.19
- Conclusion: don't install laravel/framework v5.3.18
- Conclusion: don't install laravel/framework v5.3.17
- Conclusion: don't install laravel/framework v5.3.16
- Conclusion: don't install laravel/framework v5.3.15
- Conclusion: don't install laravel/framework v5.3.14
- Conclusion: don't install laravel/framework v5.3.13
- Conclusion: don't install laravel/framework v5.3.12
- Conclusion: don't install laravel/framework v5.3.11
- Conclusion: don't install laravel/framework v5.3.10
- Conclusion: don't install laravel/framework v5.3.9
- Conclusion: don't install laravel/framework v5.3.8
- Conclusion: don't install laravel/framework v5.3.7
- Conclusion: don't install laravel/framework v5.3.6
- Conclusion: don't install laravel/framework v5.3.5
- Conclusion: don't install laravel/framework v5.3.4
- Conclusion: don't install laravel/framework v5.3.3
- Conclusion: don't install laravel/framework v5.3.2
- Conclusion: don't install laravel/framework v5.3.1
- laravelcollective/html v5.4 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.1 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.2 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.3 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.4 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.5 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.6 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.7 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- laravelcollective/html v5.4.8 requires illuminate/view 5.4.* -> satisfiable by illuminate/view[v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.9].
- don't install illuminate/view v5.4.0|don't install laravel/framework v5.3.0
- don't install illuminate/view v5.4.13|don't install laravel/framework v5.3.0
- don't install illuminate/view v5.4.17|don't install laravel/framework v5.3.0
- don't install illuminate/view v5.4.19|don't install laravel/framework v5.3.0
- don't install illuminate/view v5.4.27|don't install laravel/framework v5.3.0
- don't install illuminate/view v5.4.9|don't install laravel/framework v5.3.0
- Installation request for laravel/framework 5.3.* -> satisfiable by laravel/framework[v5.3.0, v5.3.1, v5.3.10, v5.3.11, v5.3.12, v5.3.13, v5.3.14, v5.3.15, v5.3.16,
v5.3.17, v5.3.18, v5.3.19, v5.3.2, v5.3.20, v5.3.21, v5.3.22, v5.3.23, v5.3.24, v5.3.25, v5.3.26, v5.3.27, v5.3.28, v5.3.29, v5.3.3, v5.3.30, v5.3.31, v5.3.4, v5.3.5, v5.
3.6, v5.3.7, v5.3.8, v5.3.9].
- Installation request for laravelcollective/html ~5.4 -> satisfiable by laravelcollective/html[v5.4, v5.4.1, v5.4.2, v5.4.3, v5.4.4, v5.4.5, v5.4.6, v5.4.7, v5.4.8].
我需要在composer.json中进行哪些额外的更改才能使更新生效?
UPDATE :
这是 composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.3.*",
"twbs/bootstrap": "dev-master",
"laravelcollective/html": "~5.4",
"kepex/laravel-crud-generator": "^0.1.4",
"watson/bootstrap-form": "^1.0",
"doctrine/dbal": "^2.5",
"intervention/image": "dev-master",
"danvuquoc/laravel-kraken": "1.*",
"barryvdh/laravel-dompdf": "0.8.*",
"barryvdh/laravel-debugbar": "^2.2",
"barryvdh/laravel-snappy": "^0.3.0",
"danielboendergaard/phantom-pdf": "^1.2",
"h4cc/wkhtmltopdf-i386": "0.12.x",
"h4cc/wkhtmltoimage-i386": "0.12.x",
"h4cc/wkhtmltopdf-amd64": "0.12.x",
"knplabs/knp-snappy": "^0.4.3",
"wemersonjanuario/wkhtmltopdf-windows": "0.12.2.3",
"tymon/jwt-auth": "0.5.*",
"zizaco/entrust": "dev-laravel-5",
"eluceo/ical": "^0.11.0",
"jurosh/pdf-merge": "dev-master",
"torann/geoip": "^1.0",
"maatwebsite/excel": "~2.1.0",
"roumen/sitemap": "dev-master",
"guzzlehttp/guzzle": "^6.2",
"rackspace/php-opencloud": "dev-master",
"ellisthedev/laravel-5-robots": "~0.1.0",
"mpdf/mpdf": "^6.1",
"matthiasmullie/minify": "^1.3",
"lullabot/amp": "^1.0.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"symfony/css-selector": "2.8.*|3.0.*|3.1.*",
"symfony/dom-crawler": "2.8.*|3.0.*|3.1.*"
},
"autoload": {
"classmap": ["database"],
"files": ["app/Http/helpers.php"],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": ["tests/TestCase.php"]
},
"scripts": {
"post-root-package-install": ["php -r \"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"
}
}
4 回答
我从Laravel 5.2迁移到5.6.3以下是我的步骤:
首先,您需要更新提供程序 app/Providers/{EventServiceProvider, RouteServiceProvider}.php .
他们的boot()方法不应该带参数:
其次,更新你的composer.json . 这是我的默认配置:
然后运行
composer update
或php composer.phar update
Replace your App/Providers/RouteServiceProvider.php from original repository.
Move your routes from app/routes/web.php to routes/web.php (最初,您可能还想复制原始Laravel的路线)
Replace your controllers for Authentication from original Laravel repository in folder app/Http/Controllers/Auth
注释掉旧的auth路由并在web.php路由文件(more about this)中添加
Auth::routes();
.从原始存储库添加
config/hashing.php
.运行
php artisan config:cache
以重置缓存 .最后,更新您的数据库结构
php artisan migrate --seed
并运行应用程序php artisan serve
Original Laravel Repository
你必须更新第一个barryvdh / laravel-dompdf包 .
在你的composer.json中改变:
第一次改变
"laravel/framework": "5.3.*"
到上一个然后改变
从
至
然后点击
composer update
命令然后改变
"laravel/framework": "5.3.*"
并再次点击命令
我想你需要试试这个:
您还必须更新第一个LaravelCollective html package .
在你的
composer.json
中,替换:有:
最后,我最终利用link的优势,因为这些人整合了所有可能的东西 . 只是我们方面的细微变化,他们也会在升级最新版本的laravel时在日志中提及 . 它有偿的东西,但一次投资,以节省时间是值得的 .