Composer failure when installing Laravel 5.8 + Voyager - laravel

I installed laravel 5.8, and then i did composer require tcg/voyager:1.3.2. I didn't used composer require tcg/voyager cause apparently it doesn't supports laravel 5.8. However it keeps failling and throwing this problem:
Problem 1
- Can only install one of: league/flysystem[1.1.3, 1.0.x-dev].
- Can only install one of: league/flysystem[1.0.x-dev, 1.1.3].
- Can only install one of: league/flysystem[1.0.x-dev, 1.1.3].
- tcg/voyager v1.3.2 requires league/flysystem ~1.0.41 -> satisfiable by league/flysystem[1.0.x-dev].
- Installation request for tcg/voyager 1.3.2 -> satisfiable by tcg/voyager[v1.3.2].
- Installation request for league/flysystem 1.1.3 -> satisfiable by league/flysystem[1.1.3].
I tried first installing composer require league/flysystem:1.1.3 before voyager but still it fails with the same error. Am at the lost here.

Have you checked whether league/flysystem has been installed before? According to that error message it is installed in v1.1.3, while tcg/voyager requires v1.0.* - this is not compatible.
v1.1 of the flysystem is pretty new, and only the current dev branches of Voyager contain fixes for this.
To resolve this situation, you could run composer require league/flysystem:"~1.0.41"

Related

composer install Doctrine/DBAL fails in Laravel 9 with PHP 8.2

I got an error when trying to install doctrine/dbal in order to add timestamp type according to laravel doc in order to allow changing timestamp column in migration.
Here is the message
composer require doctrine/dbal
Using version ^3.6 for doctrine/dbal
./composer.json has been updated
Running composer update doctrine/dbal
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
- league/commonmark 2.3.5 requires league/config ^1.1.1 -> satisfiable by league/config[v1.1.1].
- laravel/framework v9.30.0 requires league/commonmark ^2.2 -> satisfiable by league/commonmark[2.3.5].
- league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].
- laravel/framework is locked to version v9.30.0 and an update of this package was not requested.
How can I deal with that ? Installing nette/schema before ?
It's saying that a depency cannot be updated / installed with your PHP version. Pay special atention to this line:
- nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.2) does not satisfy that requirement.
You have to check another nette/schema version that support PHP version 8.2.2 (your version) or downgrade PHP

Why haven't install predis on laravel 8

According laravel manual https://laravel.com/docs/8.x/redis for install predis, need run: composer require predis/predis. When that command is running (for laravel 8) - appear next Error:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- facade/ignition is locked to version 2.4.2 and an update of this package was not requested.
- facade/ignition 2.4.2 requires php ^7.2.5 -> your php version (8.0.0) does not satisfy that requirement.
Problem 2
- facade/ignition-contracts 1.0.1 requires php ^7.1 -> your php version (8.0.0) does not satisfy that requirement.
- nunomaduro/collision v4.3.0 requires facade/ignition-contracts ^1.0 -> satisfiable by facade/ignition-contracts[1.0.1].
- nunomaduro/collision is locked to version v4.3.0 and an update of this package was not requested.
In my composer.json: "php": "^7.2.5|^8.0",
What here is wrong))?
You need to update facade/ignition and nunomaduro/collision first to support PHP 8 in your project.
Running the following commands should update them accordingly.
composer require --dev facade/ignition nunomaduro/collision
composer require predis/predis
i run comand: composer require --dev facade/ignition nunomaduro/collision and have got new Error: Your requirements could not be resolved to an installable set of packages.
Problem 1
- facade/ignition[2.10.0, ..., 2.10.2] require facade/ignition-contracts ^1.0.2 -> found facade/ignition-contracts[1.0.2] but the package is fixed to 1.0.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
- Root composer.json requires facade/ignition ^2.10 -> satisfiable by facade/ignition[2.10.0, 2.10.1, 2.10.2].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
I have new laravel 8 project (blog) && use new Vagrant Homestead (with all updates) && i use laravel 8 manual)) may be laravel developers is a little busy and is a little tired to give full instruction in manual). I think may be for Laravel8 Homestead allready is not suitable and need Docker and Sail... But project work (with the exception of predis) Now i use phpredis. May be will try use docker... As for Vagrant&&Homestead - https://laravel.com/docs/8.x/homestead#introduction i don't understand what is problem to use that technology .... god with they)...

how can we install composer require spatie/laravel-searchable in 5.7 version of laravel

I am setting up search in my project.which includes more than one model to search.Firstly, I tried using scout and scout extended but it does not give much flexibility with where clause.so I thought to have a look to composer require spatie/laravel-searchable but it seems its dependency is laravel 5.8.
but my laravel version is 5.7.28.Please provide me the solution.
How should I proceed with the same?
I tried using scout and scout extended but it does not give much flexibility with where clause
$channels = Channel::where('created_at', '>', now()->subDays(7))->get();
return view('search.index')->with(compact('channels'));
this works perfectly as this is simple query but if I try the same with
the scout and algolia(search request)
$channels = Channel::search($request->q)->where('created_at', '>', now()-
>subDays(7))->get();
it does not give any result.
when I tried installing composer require spatie/laravel-searchable
I got this error
Problem 1
Can only install one of: laravel/framework[v5.7.28, 5.8.x-dev].
Can only install one of: laravel/framework[5.8.x-dev, v5.7.28].
Can only install one of: laravel/framework[5.8.x-dev, v5.7.28].
spatie/laravel-searchable 1.3.0 requires laravel/framework ~5.8.0 ->
satisfiable by laravel/framework[5.8.x-dev].
Installation request for spatie/laravel-searchable ^1.3 -> satisfiable
by spatie/laravel-searchable[1.3.0].
Installation request for laravel/framework (locked at v5.7.28, required
as 5.7.*) -> satisfiable by laravel/framework[v5.7.28].
Laravel 5.7 support droped with v1.3.0 so you need to install the older version.
Changelog: https://github.com/spatie/laravel-searchable/blob/master/CHANGELOG.md
You can install the older version using command:
composer require spatie/laravel-searchable:1.2.3
Or add this version into your composer.json file and run composer update

Problem of Laravel Framework version for using the package mailjet/laravel-mailjet

I've a problem for using mailjet/laravel-mailjet, it seems a problem of versions.
I was using Laravel Framework 5.6.33 and i got
Can only install one of: laravel/framework[v5.6.39, 5.4.x-dev].
i've change my composer.json and now, i'm using Laravel Framework 5.6.39 but i've still the same problem
$ php artisan --version
Laravel Framework 5.6.39
There is the answer when i try to install mailjet/laravel-mailjet
$ composer require mailjet/laravel-mailjet
Using version ^1.1 for mailjet/laravel-mailjet
./composer.json has been updated
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
- Can only install one of: laravel/framework[v5.6.39, 5.4.x-dev].
- Can only install one of: laravel/framework[5.4.x-dev, v5.6.39].
- Can only install one of: laravel/framework[5.4.x-dev, v5.6.39].
- mailjet/laravel-mailjet 1.1.0 requires laravel/framework 5.4.* -> satisfiable by laravel/framework[5.4.x-dev].
- Installation request for mailjet/laravel-mailjet ^1.1 -> satisfiable by mailjet/laravel-mailjet[1.1.0].
- Installation request for laravel/framework 5.6.39 -> satisfiable by laravel/framework[v5.6.39].
the 4th line explains it all.
mailjet/laravel-mailjet 1.1.0 requires laravel/framework 5.4.*
so, you can't use v5.6.39, only 5.4.*

intervention/image fail to download

When typed "composer require intervention/image", received the following error:
Problem 1
- doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
- doctrine/inflector v1.2.0 requires php ^7.0 -> your PHP version (5.5.38) does not satisfy that requirement.
- Installation request for doctrine/inflector (installed at v1.2.0) -> satisfiable by doctrine/inflector[v1.2.0].
Any suggestions on how to solve this? Or other better ways to deal with image uploads?
Thanks!
Installation request for doctrine/inflector means intervention/image required doctrine/inflector so it have to be install.
But in order to install doctrine/inflector you need PHP version 7.0 and since you're on PHP version 5.5.38 this requirement failed and the installation can not continue.
You need to upgrade to PHP 7.0

Resources