在laravel 9中安装laravel-doctrine/迁移包的问题

jk9hmnmh  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(122)

我尝试在全新安装的laravel 9上安装迁移,但是我收到此错误
问题一

  • 根composer.json需要laravel-doctrine/migrations ^2.3-〉可以被laravel-doctrine/migrations[2.3.0,2.3.1,2.x-dev]满足。
  • laravel-doctrine/迁移[2.3.0,...,2.x-dev]需要照明/配置^6.0| ^7.0版本|^8.0 -〉找到illuminated/config[v6.0.0,...,6.x-dev,v7.0.0,...,7.x-dev,v8.0.0,...,8.x-dev],但这些文件没有被加载,可能是因为它与另一个要求冲突。

您也可以尝试使用显式版本约束重新运行composer require,例如“composer require laravel-doctrine/migrations:*”以确定是否有任何版本可安装,或者如果您知道需要哪个版本,则使用“composer require laravel-doctrine/migrations:^2.1”。
以前我用这个命令安装了表单

composer require laravel-doctrine/orm

我曾尝试安装其他版本,但消息相同
composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "php": "^8.0.2",
        "guzzlehttp/guzzle": "^7.2",
        "laravel-doctrine/orm": "^1.8",
        "laravel-doctrine/migrations":"^2.3",
        "laravel/framework": "^9.19",
        "laravel/sanctum": "^3.0",
        "laravel/tinker": "^2.7"
    },
    "require-dev": {
        "fakerphp/faker": "^1.9.1",
        "laravel/pint": "^1.0",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10",
        "spatie/laravel-ignition": "^1.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

更新

我尝试安装laravel 8的软件包,但在执行版本~1.7的命令时出现此错误
命令

composer require laravel-doctrine/orm doctrine/inflector:"^1.4|^2.0"

错误
问题1 - laravel-doctrine/orm[1.8.0,...,1.8. x-dev]要求阐明/支持^9.0 -〉找到阐明/支持[v9.0.0-beta.1,...,9. x-dev],但这些没有被加载,可能是因为它与另一个要求冲突。-根composer.json要求laravel-doctrine/orm ^1.8 -〉可由laravel-doctrine/orm[1.8.0,1.8.1、1.8. x-设备]。
你也可以尝试用显式的版本约束重新运行composer require,例如“composer require laravel-dicture/orm:*”来判断是否有任何版本是可安装的,或者如果你知道你需要哪一个版本,可以使用“composer require laravel-dicture/orm:^2.1”。

myss37ts

myss37ts1#

条令迁移目前还不支持laravel 9。请参阅this discussion
this Pull Request中升级到doctrine/migrations 3后,它将得到支持
所以如果你想真正安装条令/迁移,你需要使用Laravel 8而不是laravel 9。
否则,您需要等待,直到该PR合并并发布

pdkcd3nj

pdkcd3nj2#

解决

当前可以使用此命令安装条令/迁移

composer require laravel-doctrine/orm "^1.7" doctrine/inflector:"^1.4|^2.0"

安装软件包后,您可以安装迁移,没有任何问题
请注意,必须在命令中指定版本1.7,因为它不会显式出现在文档中

相关问题