Skip to content

Upgrading to Laravel 12 with Nova 4 installed fails #6816

@tmannherz

Description

@tmannherz
  • Laravel Version: 11x -> 12.x
  • Nova Version: 4.x
  • PHP Version: 8.3.19
  • Database Driver & Version: n/a
  • Operating System and Version: n/a
  • Browser type and version: n/a
  • Reproduction Repository: n/a

Description:

Attempting to upgrade to Laravel 12 with Nova 4 installed fails.

Detailed steps to reproduce the issue on a fresh Nova installation:

  1. Set up a Laravel + Nova project with Laravel 11 and Nova 4:
{
    "name": "repo/nova-upgrade",
    "type": "project",
    "description": "Nova Upgrade",
    "require": {
        "laravel/framework": "^11",
        "laravel/nova": "^4"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://nova.laravel.com"
        }
    ]
}
  1. Run composer i -- install is successful
  2. Update the laravel/framework version requirement to ^12 and run composer upgrade laravel/framework
  3. Installs fails with this message:
composer upgrade laravel/framework
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires laravel/framework ^12, found laravel/framework[v12.0.0, ..., v12.8.1] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - laravel/nova is locked to version 4.35.8 and an update of this package was not requested.
    - inertiajs/inertia-laravel v1.3.2 requires laravel/framework ^8.74|^9.0|^10.0|^11.0 -> found laravel/framework[v8.74.0, ..., v8.83.29, v9.0.0, ..., v9.52.20, v10.0.0, ..., v10.48.29, v11.0.0, ..., v11.44.2] but it conflicts with your root composer.json require (^12).
    - laravel/nova 4.35.8 requires inertiajs/inertia-laravel ^0.4.5|^0.5.2|^0.6.0|^1.0 -> satisfiable by inertiajs/inertia-laravel[v1.3.2].

One of the Nova dependencies, inertiajs/inertia-laravel, is not yet compatible.
Here's a related ticket, but it's not getting any attention and until it does, the Laravel upgrade path is blocked.
Looking at inertiajs/inertia-laravel, it's already L12 compatible. The maintainers just need to tag a new 1.x release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions