简体   繁体   English

在 laravel 中安装 laravel-doctrine/migrations package 问题 9

[英]Issue installing laravel-doctrine/migrations package in laravel 9

I am trying to install the migrations on a fresh install of laravel 9, however I am getting this error我正在尝试在 laravel 9 的全新安装上安装迁移,但是我收到此错误

Problem 1问题1

  • Root composer.json requires laravel-doctrine/migrations ^2.3 -> satisfiable by laravel-doctrine/migrations[2.3.0, 2.3.1, 2.x-dev].根 composer.json 需要 laravel-doctrine/migrations ^2.3 -> 可由 laravel-doctrine/migrations[2.3.0, 2.3.1, 2.x-dev] 满足。
  • laravel-doctrine/migrations[2.3.0, ..., 2.x-dev] require illuminate/config ^6.0|^7.0|^8.0 -> found illuminate/config[v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require. laravel-doctrine/migrations[2.3.0, ..., 2.x-dev] 需要 illuminate/config ^6.0|^7.0|^8.0 -> 找到 illuminate/config[v6.0.0, ..., 6.x -dev, v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] 但这些都没有加载,可能是因为它与另一个要求冲突。

You can also try re-running composer require with an explicit version constraint, eg "composer require laravel-doctrine/migrations:*" to figure out if any version is installable, or "composer require laravel-doctrine/migrations:^2.1" if you know which you need.您还可以尝试重新运行带有明确版本约束的 composer require,例如“composer require laravel-doctrine/migrations:*”以确定是否可以安装任何版本,或者“composer require laravel-doctrine/migrations:^2.1”如果你知道你需要哪个。

previously I installed the orm with this command之前我用这个命令安装了 orm

composer require laravel-doctrine/orm

I have tried to install other versions but the message is the same我尝试安装其他版本,但消息是一样的

composer.json作曲家.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
}

UPDATE更新

I am trying to install the package with laravel 8 however I have this error when executing the command for version ~1.7我正在尝试使用 laravel 8 安装 package 但是在执行版本 ~1.7 的命令时出现此错误

command命令

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

Error错误

Problem 1 - laravel-doctrine/orm[1.8.0, ..., 1.8.x-dev] require illuminate/support ^9.0 -> found illuminate/support[v9.0.0-beta.1, ..., 9.x-dev] but these were not loaded, likely because it conflicts with another require.问题 1 - laravel-doctrine/orm[1.8.0, ..., 1.8.x-dev] 需要 illuminate/support ^9.0 -> found illuminate/support[v9.0.0-beta.1, ..., 9. x-dev] 但这些没有加载,可能是因为它与另一个要求冲突。 - Root composer.json requires laravel-doctrine/orm ^1.8 -> satisfiable by laravel-doctrine/orm[1.8.0, 1.8.1, 1.8.x-dev]. - Root composer.json 需要 laravel-doctrine/orm ^1.8 -> 可由 laravel-doctrine/orm[1.8.0, 1.8.1, 1.8.x-dev] 满足。

You can also try re-running composer require with an explicit version constraint, eg "composer require laravel-doctrine/orm:*" to figure out if any version is installable, or "composer require laravel-doctrine/orm:^2.1" if you know which you need.您还可以尝试重新运行带有明确版本约束的 composer require,例如“composer require laravel-doctrine/orm:*”以确定是否可以安装任何版本,或者“composer require laravel-doctrine/orm:^2.1”如果你知道你需要哪个。

doctrine-migrations does not support laravel 9 at yet. doctrine-migrations 目前还不支持 laravel 9。 See this discussion看到这个讨论

It will be supported after it upgrade to doctrine/migrations 3 in this Pull Request这个 Pull Request升级到 doctrine/migrations 3 后会支持

So if you want to really install doctrine/migrations, you need to use Laravel 8 instead of laravel 9.所以如果你想真正安装 doctrine/migrations,你需要使用 Laravel 8 而不是 laravel 9。

Otherwise, you need to wait untill that PR merged and released否则,你需要等到那个 PR 合并并发布

SOLVED解决了

Currently doctrine/migrations can be installed using this command目前可以使用此命令安装 doctrine/migrations

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

after install the packages you can install migations with no problems安装软件包后,您可以毫无问题地安装迁移

Note that version 1.7 must be specified in the command, since it does not appear explicitly in the documentation请注意,必须在命令中指定版本 1.7,因为它没有明确出现在文档中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM