thedevdojo / voyager

Voyager - The Missing Laravel Admin
https://voyager.devdojo.com
MIT License
11.78k stars 2.67k forks source link

Error installation on Laravel 8 #5391

Closed scaffarelli closed 2 years ago

scaffarelli commented 3 years ago

Version information

Description

Error trying to install Voyager.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Run the installation command composer require tcg/voyager
  2. Then you got the error below:

Using version ^1.4 for tcg/voyager ./composer.json has been updated Running composer update tcg/voyager Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages.

Problem 1

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.

Following the recommendation with -W

Using version ^1.4 for tcg/voyager ./composer.json has been updated Running composer update tcg/voyager --with-all-dependencies Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages.

Problem 1

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Expected behavior

Be able to successfully install Voyager

Screenshots

Captura de Pantalla 2021-07-02 a la(s) 17 45 52
Kylpilion commented 3 years ago

same

sarjo commented 3 years ago

same

grzegorz-rozycki commented 3 years ago

IMO it's because Laravel has a dev dependency on "doctrine/dbal": "^2.6|^3.0", and if you've locked the version at ^3.0 you get this conflict. As a workaround try to downgrade doctrine/dbal to ^2.6

pritam3010 commented 3 years ago

Facing the same issue.

pritam3010 commented 3 years ago

Facing the same issue.

This issue is happening as Voyager requires intervention/image package which depends on guzzlehttp/psr7 [ < 2.0.0]. I ran the command composer require intervention/image -W which in turn downgrades theguzzlehttp/psr7 from 2.0.0 => 1.8.2.

After that, I try to install Voyager and it installed successfully.

I don't know by downgrading guzzlehttp/psr7 will face issues elsewhere. If anyone knows please let us know.

BuddhiEash commented 3 years ago

Experiencing the same issue. I downgraded to Laravel version 7 and tried. But getting the same issue.

pritam3010 commented 3 years ago

@BuddhiEash Run the composer require intervention/image -W in the project directory, after that you can install Voyager for laravel 8. You can see my previous comment for the detail.

BuddhiEash commented 3 years ago

@pritam3010 Thanks for the reply. I like to try that, but my concern is whether it will cause to occur any other issue with other dependencies.

pritam3010 commented 3 years ago

Faced issue in installing voyager-redirects hook using voyager admin panel.

RuntimeException
require.voyager-redirects is invalid, it should have a vendor name, a forward slash, and a package name. 
The vendor and package name can be words separated by -, . or _. 
The complete name should match "^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$".

I don't know that this error is thrown due to the changes made during installation (mentioned in the above comment) on any other issue.

cfpinto commented 3 years ago

if you're ok with deleting composer.lock (not recommended in most cases) you might get away with it. btw my understanding is that for Laravel 8 you need Voyager 1.4.x-dev which is a dev release. you might find a few nagging things like this

whyiscaothu commented 3 years ago

composer require tcg/voyager --no-update composer install composer update

work for me. I'm use laravel 8.40

emptynick commented 3 years ago

Unfortunately we have to find a replacement for intervention/image as it seems to be abandoned. Might take a little while.

Edit: good timing, things are moving over at intervention. We'll see what happens the next day(s)

jefferdo commented 3 years ago

composer require tcg/voyager --no-update composer install composer update

work for me. I'm use laravel 8.40

This works. Thanks

BuddhiEash commented 3 years ago

It seems the issue is fixed now.

Just executed the normal voyager installation command.

composer require tcg/voyager

Tested with Laravel Framework 8.49.2 and Laravel Framework 8.50.0

And it works without an issue.

Thanks!

cjsfj commented 3 years ago

Seems like this works with dev only. Will we get a 1.4.x release anytime that has this support?

itsrafsanjani commented 3 years ago

Solved: Require "tcg/voyager": "^1.4.3" to your composer.json and run composer update. This works for me!

My problem was:

  Problem 1
    - tcg/voyager[v1.4.3, ..., 1.x-dev] require doctrine/dbal ^2.5 -> found doctrine/dbal[v2.5.0-BETA2, ..., 2.13.x-dev] but the package is fixed to 3.1.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.
    - tcg/voyager[v1.4.0, ..., v1.4.2] require illuminate/support ~6.0|~7.0 -> found illuminate/support[v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev] but these were not loaded, likely because it conflicts with another require.
    - Root composer.json requires tcg/voyager ^1.4 -> satisfiable by tcg/voyager[v1.4.0, ..., 1.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
ghost commented 2 years ago

Any reason the constraint hasn't been updated yet? It's holding back upgrades on my projects.

I managed to instal it with the --no-update tag but that feels like a dirty workaround :-)

rambhosale commented 2 years ago

Any update on this issue still facing the same error Any reason for not upgrading the doctrine/dbal library to the latest version?

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity after it was closed. If you have further questions please ask in our Slack group.