Upgrade laravel project from 5.3 to 5.8 - laravel-5.8

I'm working on a project and i'm trying to upgrade my current version of php 5.6 to 7.3, laravel 5.3 to 5.8 and backpack 0.7 to final version, then ran composer update but all I got was the error below:
Problem 1:
- Conclusion: don't install laravel/framework v5.8.19
- Conclusion: don't install laravel/framework v5.8.18
- Conclusion: don't install laravel/framework v5.8.17
- Conclusion: don't install laravel/framework v5.8.16
- Conclusion: don't install laravel/framework v5.8.15
- Conclusion: don't install laravel/framework v5.8.14
- Conclusion: don't install laravel/framework v5.8.13
- Conclusion: don't install laravel/framework v5.8.12
- Conclusion: don't install laravel/framework v5.8.11
- Conclusion: don't install laravel/framework v5.8.10
- Conclusion: don't install laravel/framework v5.8.9
- Conclusion: don't install laravel/framework v5.8.8
- Conclusion: don't install laravel/framework v5.8.7
- Conclusion: don't install laravel/framework v5.8.6
- Conclusion: don't install laravel/framework v5.8.5
- Conclusion: don't install laravel/framework v5.8.4
- Conclusion: don't install laravel/framework v5.8.3
- Conclusion: don't install laravel/framework v5.8.2
- Conclusion: don't install laravel/framework v5.8.1
- laravelcollective/html v5.3.1 requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.31], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
- laravelcollective/html v5.3.1 requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.31], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
- Can only install one of: laravel/framework[v5.8.0, v5.3.31].
- don't install illuminate/view v5.3.0|don't install laravel/framework v5.8.0
- don't install illuminate/view v5.3.16|don't install laravel/framework v5.8.0
- don't install illuminate/view v5.3.23|don't install laravel/framework v5.8.0
- don't install illuminate/view v5.3.4|don't install laravel/framework v5.8.0
- Installation request for laravel/framework 5.8.* -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.3, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9].
- Installation request for laravelcollective/html 5.3.1 -> satisfiable by laravelcollective/html[v5.3.1].
This is composer.json requirement
"require": {
"php": ">=7.3.1",
"laravel/framework": "5.3.*",
"laravelcollective/html": "5.3.1",
"backpack/base": "^0.7.14",
"backpack/crud": "^3.1",
"backpack/permissionmanager": "^2.1",
"backpack/langfilemanager": "^1.0",
"mikehaertl/phpwkhtmltopdf": "2.2.1",
"artisaninweb/laravel-soap": "0.3.0.7",

When upgrading Laravel and/or Backpack, it's recommended that you don't jump versions. I've never tried to jump from L5.3 directly to 5.8, but I do not expect that to work.
Both Laravel and Backpack release upgrade guides with each version. That's because the upgrade process is not just changing a number in the composer.json file. It also involves some steps you need to do manually. Otherwise your app won't work. I know it's inconvenient, but it's the only possible way to upgrade code that you can customize.
My recommendation:
Upgrade to Laravel 5.4 & Backpack 3.2
Then upgrade to Laravel 5.5 & Backpack 3.3
Then upgrade to Laravel 5.6 & Backpack 3.4
Then upgrade to Laravel 5.7 & Backpack 3.5
Then upgrade to Laravel 5.8 & Backpack 3.6
You can automate a good part of the Laravel upgrades using Laravel Shift. It's a paid service that makes pull requests to your Github/Gitlab/Bitbucket repo. You can't automate the Backpack upgrades, I'm afraid, but in most cases the steps will be clear and the changes small.
Hope it helps.

Related

Problem installing league/flysystem-aws-s3-v3 league/flysystem ^2.0 required but stuck at 1.1.3

I am attempting to install league/flysystem-aws-s3-v3 with laravel but receive the following:
Problem 1
- The requested package league/flysystem (locked at 1.1.3, required as ^2.0) is satisfiable by league/flysystem[1.1.3] but these conflict with your requirements or minimum-stability.
Problem 2
- Conclusion: remove laravel/framework v7.28.4
- Conclusion: don't install laravel/framework v7.28.4
- Conclusion: don't install league/flysystem 2.0.2
- Conclusion: don't install league/flysystem 2.0.1
- Conclusion: don't install league/flysystem 2.0.0
- Conclusion: don't install league/flysystem 2.0.0-RC1
- Conclusion: don't install league/flysystem 2.0.0-beta.3
- Conclusion: don't install league/flysystem 2.0.0-beta.2
- Conclusion: don't install league/flysystem 2.0.0-beta.1
- Conclusion: don't install league/flysystem 2.0.0-alpha.4
- Conclusion: don't install league/flysystem 2.0.0-alpha.3
- Conclusion: don't install league/flysystem 2.0.0-alpha.2
- Installation request for laravel/framework (locked at v7.28.4, required as ^7.24) -> satisfiable by laravel/framework[v7.28.4].
- Conclusion: don't install league/flysystem 2.0.0-alpha.1
- laravel/framework v7.28.4 requires league/flysystem ^1.0.34 -> satisfiable by league/flysystem[1.0.x-dev, 1.x-dev].
- Can only install one of: league/flysystem[2.x-dev, 1.x-dev].
- Can only install one of: league/flysystem[2.x-dev, 1.0.x-dev].
- Installation request for league/flysystem ^2.0 -> satisfiable by league/flysystem[2.0.0, 2.0.0-RC1, 2.0.0-alpha.1, 2.0.0-alpha.2, 2.0.0-alpha.3, 2.0.0-alpha.4, 2.0.0-beta.1, 2.0.0-beta.2, 2.0.0-beta.3, 2.0.1, 2.0.2, 2.x-dev].
When I try to update league/flysystem I receive the following:
Problem 1
- Conclusion: remove laravel/framework v7.28.4
- Conclusion: don't install laravel/framework v7.28.4
- Conclusion: don't install league/flysystem 2.0.2
- Conclusion: don't install league/flysystem 2.0.1
- Conclusion: don't install league/flysystem 2.0.0
- Conclusion: don't install league/flysystem 2.0.0-RC1
- Conclusion: don't install league/flysystem 2.0.0-beta.3
- Conclusion: don't install league/flysystem 2.0.0-beta.2
- Conclusion: don't install league/flysystem 2.0.0-beta.1
- Conclusion: don't install league/flysystem 2.0.0-alpha.4
- Conclusion: don't install league/flysystem 2.0.0-alpha.3
- Conclusion: don't install league/flysystem 2.0.0-alpha.2
- Installation request for laravel/framework (locked at v7.28.4, required as ^7.24) -> satisfiable by laravel/framework[v7.28.
- Conclusion: don't install league/flysystem 2.0.0-alpha.1
- laravel/framework v7.28.4 requires league/flysystem ^1.0.34 -> satisfiable by league/flysystem[1.0.x-dev, 1.x-dev].
- Can only install one of: league/flysystem[2.x-dev, 1.x-dev].
- Can only install one of: league/flysystem[2.x-dev, 1.0.x-dev].
- Installation request for league/flysystem ^2.0 -> satisfiable by league/flysystem[2.0.0, 2.0.0-RC1, 2.0.0-alpha.1, 2.0.0-alp
I am also unable to remove league/flysystem or update laravel
You're using Laravel 7 (although the same is true for Laravel 8), if you take a look at the laravel/framework composer.json file, you will see that it is requiring version 1; "league/flysystem": "^1.1"
Per composer constraints, this will allow any version from 1.1 to less than 2 (>=1.1 <2).
Now it is technically possible to install 2 different versions of a package, but I'd highly advise against it as you have to monkey with the autoloader to change the namespace for one version of the package. This answer covers the details on how to do it if you absolutely must.
If you are using laravel/framework version >= 8. Try running this command in your console. It worked for me.
composer require league/flysystem-aws-s3-v3

composer require laravel/passport not working in laravel 5.8

I'm using Laravel 5.8 although 6.0.3 is available. I'm using it because the tutorial I'm following is using Laravel 5.8.
When, I command:
composer require laravel/passport
it throws an error
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: remove laravel/framework v5.8.35
- Conclusion: don't install laravel/framework v5.8.35
- laravel/passport 8.x-dev requires illuminate/encryption ^6.0|^7.0 -> satisfiable by illuminate/encryption[6.x-dev, 7.0.x-dev, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.2.0, v6.3.0, v6.4.1].
- laravel/passport v8.0.0 requires illuminate/encryption ^6.0|^7.0 -> satisfiable by illuminate/encryption[6.x-dev, 7.0.x-dev, v6.0.0, v6.0.1, v6.0.2, v6.0.3, v6.0.4, v6.1.0, v6.2.0, v6.3.0, v6.4.1].
- don't install illuminate/encryption 6.x-dev|don't install laravel/framework v5.8.35
- don't install illuminate/encryption 7.0.x-dev|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.0.0|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.0.1|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.0.2|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.0.3|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.0.4|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.1.0|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.2.0|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.3.0|don't install laravel/framework v5.8.35
- don't install illuminate/encryption v6.4.1|don't install laravel/framework v5.8.35
- Installation request for laravel/framework (locked at v5.8.35, required as 5.8.*) -> satisfiable by laravel/framework[v5.8.35].
- Installation request for laravel/passport ^8.0 -> satisfiable by laravel/passport[8.x-dev, v8.0.0].
Installation failed, reverting ./composer.json to its original content.
Latest version of Laravel Passport dropped support for Laravel 5.8
Install earlier version
composer require laravel/passport:7.5.1
From the release notes of Laravel Passport
Changed
Rework HandlesOAuthErrors trait to middleware (#937)
Use a renderable exception for OAuth errors (#1066)
Use diactoros 2.0 and psr-http-factory (aadf603)
Replaced helpers with Blade directives (#939)
Use caret for constraints (d906804)
Dropped support for Laravel 5.8 (654cc09)
Dropped support for PHP 7.1 (3c830ac)
Upgrade to league/oauth2-server 8.0 (97e3026)
You can use this command to install passport on laravel 5.8 projects: composer require laravel/passport "7.5.1" or you can include passport in composer dependecies:
"require": {
...
"laravel/passport": "7.5.1",
....
}
and then run composer update Both will install passport in your project.
composer require laravel/passport works on the latest version of laravel.
You have to download the version according to your laravel version.
So to solve, go-to Laravel docs and select the version you are currently running and then go to Passport it will show you the appropriate version of Passport to install for your version of laravel.

Error when Updating to Laravel 5.4

I'm trying to update Laravel 5.3 to Laravel 5.4 that was released yesturday, and I get this message:
Problem 1
- laravelcollective/html 5.3.x-dev requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.20], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
- laravelcollective/html 5.3.x-dev requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.20], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
- laravelcollective/html 5.3.x-dev requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.20], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
- Can only install one of: laravel/framework[v5.4.0, v5.3.20].
- don't install illuminate/view v5.3.0|don't install laravel/framework v5.4.0
- don't install illuminate/view v5.3.16|don't install laravel/framework v5.4.0
- don't install illuminate/view v5.3.23|don't install laravel/framework v5.4.0
- don't install illuminate/view v5.3.4|don't install laravel/framework v5.4.0
- Installation request for laravel/framework 5.4.0 -> satisfiable by laravel/framework[v5.4.0].
- Installation request for laravelcollective/html 5.3.*-dev -> satisfiable by laravelcollective/html[5.3.x-dev].
Thing is I don't see laravelcollective has release a 5.4 version.
Do I need to wait for them to release new version or am I missing something?
Why isn't it in the upgrade guide, it is a quite important lib in Laravel.
You have some options. Laravel Collective is a popular package, so people are already applying the fixes required for it to work on 5.4. Check out the following thread on a pull request.
https://github.com/LaravelCollective/html/pull/276
So, in order to use the package with 5.4, based on comments in the thread, you'll need to change your composer.json to look like this.
"laravel/collective": "5.4.x-dev",
Then run composer update
If you want you can also use a specific commit. In this case, to use the commit on this pull request, your composer.json would look like so.
"laravelcollective/html": "dev-master#92f3ba71c5c11c752ddd68d614f5f0665e759220",

Composer update error with Laravel 5 - 'PHPExcel_Shared_Font' not found

I needed to customize a package I found on packagist, so I cloned the repo on github and updated my composer.json file to get the dependency from there instead.
Now when I run composer update I get the following:
[4.5MB/0.34s] Loading composer repositories with package information
[4.8MB/1.57s] Updating dependencies (including require-dev)
[248.7MB/16.88s] - Removing serverfireteam/blog (master)
[113.1MB/17.54s] Writing lock file
[113.1MB/17.55s] Generating autoload files
Fatal error: Class 'PHPExcel_Shared_Font' not found in C:\Users\Tim\Code\Laravel\config\excel.php on line 174
PHP Fatal error: Class 'PHPExcel_Shared_Font' not found in C:\Users\Tim\Code\Laravel\config\excel.php on line 174
[113.4MB/18.22s] Script php artisan clear-compiled handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Fatal error: Class 'PHPExcel_Shared_Font' not found in C:\Users\Tim\Code\Laravel\config\excel.php on line 174
I reveresed the change, and ran `composer update' again and get the following message:
[4.4MB/0.33s] Loading composer repositories with package information
[4.7MB/1.48s] Updating dependencies (including require-dev)
[258.9MB/15.11s] Your requirements could not be resolved to an installable set of packages.
[258.9MB/15.11s]
Problem 1
- Conclusion: remove laravel/framework v5.0.33
- Conclusion: don't install laravel/framework v5.0.33
- Conclusion: don't install laravel/framework v5.0.32
- Conclusion: don't install laravel/framework v5.0.31
- Conclusion: don't install laravel/framework 5.0.30
- Conclusion: don't install laravel/framework v5.0.29
- Conclusion: don't install laravel/framework v5.0.28
- Conclusion: don't install laravel/framework v5.0.27
- Conclusion: don't install laravel/framework v5.0.26
- Conclusion: don't install laravel/framework v5.0.25
- Conclusion: don't install laravel/framework v5.0.24
- Conclusion: don't install laravel/framework v5.0.23
- Conclusion: don't install laravel/framework v5.0.22
- Conclusion: don't install laravel/framework v5.0.21
- Conclusion: don't install laravel/framework v5.0.20
- Conclusion: don't install laravel/framework v5.0.19
- Conclusion: don't install laravel/framework v5.0.18
- Conclusion: don't install laravel/framework v5.0.17
- Conclusion: don't install laravel/framework v5.0.16
- Conclusion: don't install laravel/framework v5.0.15
- Conclusion: don't install laravel/framework v5.0.14
- Conclusion: don't install laravel/framework v5.0.13
- Conclusion: don't install laravel/framework v5.0.12
- Conclusion: don't install laravel/framework v5.0.11
- Conclusion: don't install laravel/framework v5.0.10
- Conclusion: don't install laravel/framework v5.0.9
- Conclusion: don't install laravel/framework v5.0.8
- Conclusion: don't install laravel/framework v5.0.7
- Conclusion: don't install laravel/framework v5.0.6
- Conclusion: don't install laravel/framework v5.0.5
- Conclusion: don't install laravel/framework v5.0.4
- Conclusion: don't install laravel/framework v5.0.3
- Conclusion: don't install laravel/framework v5.0.2
- Conclusion: don't install laravel/framework v5.0.1
- serverfireteam/blog master requires illuminate/support ~5.1 -> satisfiable by illuminate/support[v5.1.1, v5.1.2, v5.1.6, v5.1.8].
- serverfireteam/blog dev-master requires illuminate/support ~5.1 -> satisfiable by illuminate/support[v5.1.1, v5.1.2, v5.1.6, v5.1.8].
- don't install illuminate/support v5.1.1|don't install laravel/framework v5.0.0
- don't install illuminate/support v5.1.2|don't install laravel/framework v5.0.0
- don't install illuminate/support v5.1.6|don't install laravel/framework v5.0.0
- don't install illuminate/support v5.1.8|don't install laravel/framework v5.0.0
- Installation request for laravel/framework 5.0.* -> satisfiable by laravel/framework[5.0.30, v5.0.0, v5.0.1, v5.0.10, v5.0.11, v5.0.12, v5.0.13, v5.0.14, v5.0.15, v5.0.16, v5.0.17, v5.0.18, v5.0.19, v5.0.2, v5.0.20, v5.0.21, v5.0.22, v5.0.23, v5.0.24, v5.0.25, v5.0.26, v5.0.27, v5.0.28, v5.0.29, v5.0.3, v5.0.31, v5.0.32, v5.0.33, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8, v5.0.9].
- Installation request for serverfireteam/blog dev-master -> satisfiable by serverfireteam/blog[master].
[113.9MB/15.48s] Memory usage: 113.9MB (peak: 259.06MB), time: 15.48s
Does anyone know where I've gone wrong?
delete config/excel.php and re-publish it.
php artisan vendor:publish --provider=Maatwebsite\Excel\ExcelServiceProvider
As per your own comment #TimothyBuktu, serverfireteam/blog requires laravel 5.1.
You'll want to lock the version of serverfireteam/blog to dev-master#c0039d3ade67503d674093f3a56d7b1540ae958d in your composer.json, which is the last commit before the requirement of laravel was bumped to 5.1
Alternatively if you still want to receive updates for the package, you'll need to update your application to laravel 5.1. http://laravel.com/docs/5.1/upgrade
mm Xl's answer is excellent!
But after version 3.1 (included), the command is changed to the following one:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
To see this part on docs: https://github.com/Maatwebsite/laravel-excel-docs/blob/develop/3.1/getting-started/installation.md

"Composer update for Laravel: Requirements could not be resolved to an installable set of packages."

I recently tried updating my laravel project using composer, using this in the requirements section:
"require": {
"laravel/framework": "4.0.*",
"way/generators": "dev-master",
"taylorotwell/laravel-oauth2": "0.2.*",
"juy/profiler" : "dev-master",
"cviebrock/eloquent-sluggable": "1.0.*"
},
I received the following error:
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: remove laravel/framework 4.0.x-dev
- Conclusion: don't install laravel/framework 4.0.x-dev
- Conclusion: don't install laravel/framework v4.0.10
- Conclusion: don't install laravel/framework v4.0.9
- Conclusion: don't install laravel/framework v4.0.8
- Conclusion: don't install laravel/framework v4.0.7
- Conclusion: don't install laravel/framework v4.0.6
- Conclusion: don't install laravel/framework v4.0.5
- Conclusion: don't install laravel/framework v4.0.4
- Conclusion: don't install laravel/framework v4.0.3
- Conclusion: don't install laravel/framework v4.0.2
- Conclusion: don't install laravel/framework v4.0.1
- Conclusion: don't install laravel/framework v4.0.0
- Conclusion: don't install laravel/framework v4.0.0-BETA4
- Conclusion: don't install laravel/framework v4.0.0-BETA3
- way/generators dev-master requires illuminate/support ~4.1 -> satisfiable by laravel/framework[4.1.x-dev, 4.2.x-dev], illuminate/support[4.1.x-dev, 4.2.x-dev, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9].
- way/generators dev-master requires illuminate/support ~4.1 -> satisfiable by laravel/framework[4.1.x-dev, 4.2.x-dev], illuminate/support[4.1.x-dev, 4.2.x-dev, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9].
- don't install illuminate/support 4.1.x-dev|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support 4.2.x-dev|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.0|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.1|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.10|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.11|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.12|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.13|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.14|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.15|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.16|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.17|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.18|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.19|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.2|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.20|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.21|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.22|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.23|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.3|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.4|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.5|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.6|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.7|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.8|don't install laravel/framework v4.0.0-BETA2
- don't install illuminate/support v4.1.9|don't install laravel/framework v4.0.0-BETA2
- Can only install one of: laravel/framework[v4.0.0-BETA2, 4.1.x-dev].
- Can only install one of: laravel/framework[v4.0.0-BETA2, 4.2.x-dev].
- Installation request for laravel/framework 4.0.* -> satisfiable by laravel/framework[4.0.x-dev, v4.0.0, v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9].
- Installation request for way/generators dev-master -> satisfiable by way/generators[dev-master].
I've never seen this before. I tried removing the "cviebrock/eloquent-sluggable": "1.0.*" line (because it was recently added), but I am seeing the same error. Any ideas? Thank you.
way/generators dev-master requires illuminate/support ~4.1
There's your conflict, as laravel 4.0.* will install illuminate/support based on which laravel version you use: https://github.com/laravel/framework/blob/master/composer.json#L61
Edit:
I.e. you'll need to downgrade way/generators to 1.1 as laravel 4.0.* is required by taylorotwell/laravel-oauth2.
Don't use dev-master as a version requirement for long-term (or even short-term) development of your own software if you do not follow the development decisions of that library closely.
What probably happened is that way/generators once was compatible with Laravel 4.0 in that dev-master branch, which lead to the release of version 1.1. And then they went on and switched to depending on Laravel 4.1.
Your own software can only see the most current commit in that branch. There is no way Composer can go back in history to earlier states in dev-master, like the last one that defined Laravel 4.0 as dependency. In such a situation, you cannot update with Composer anymore. If you update the whole setup (composer update), things will conflict. If you only update one component (composer update other/library), which itself depends on the NEWER version of way/generators:dev-master, which you didn't install, it will also not work.
Always use tagged versions. To make it easier with updating, don't only use fixed versions like 4.0.7 (although these will be very stable - but you would be unable to update anything), but use these tilde version requirements: ~4.0 is a shortcut for >=4.0,<5.0. This will allow updating to any compatible version in the 4.x branch (provided that the software follows semantic versioning). In particular, it would allow to update to Laravel 4.1. And if you know you need 4.1.0 as the minimum version: ~4.1 is the shortcut for >=4.1,<5.0.
Additionally, there is a nifty piece of software that generates the dependency graph as a picture including the version requirements and resolved versions: https://github.com/clue/graph-composer This really helps understanding what kind of software is required by whom.

Resources