【问题标题】:Can't install RabbitMQ Symfony无法安装 RabbitMQ Symfony
【发布时间】:2023-03-04 11:19:01
【问题描述】:

我正在尝试安装到我的项目 RabbitMq 包中 我用php7.4.9 我可以在 Ubuntu 上安装 rabbitMQ 服务器,但现在我遇到了 Symfony 的问题

我也想问一下,突然你在OOP中遇到了一个很好的例子,我想做好的代码

tanyaPC:  composer require php-amqplib/rabbitmq-bundle

Using version ^1.14 for php-amqplib/rabbitmq-bundle
./composer.json has been updated
Loading composer repositories with package information

Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "5.1.*"
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - php-amqplib/rabbitmq-bundle v1.14.4 requires symfony/dependency-injection ^2.7|^3.0|^4.0 -> no matching package found.
    - php-amqplib/rabbitmq-bundle v1.14.3 requires symfony/dependency-injection ^2.7|^3.0|^4.0 -> no matching package found.
    - php-amqplib/rabbitmq-bundle v1.14.2 requires symfony/dependency-injection ^2.7|^3.0|^4.0 -> no matching package found.
    - php-amqplib/rabbitmq-bundle v1.14.1 requires symfony/dependency-injection ^2.7|^3.0|^4.0 -> no matching package found.
    - php-amqplib/rabbitmq-bundle v1.14.0 requires symfony/dependency-injection ^2.7|^3.0|^4.0 -> no matching package found.
    - Installation request for php-amqplib/rabbitmq-bundle ^1.14 -> satisfiable by php-amqplib/rabbitmq-bundle[v1.14.0, v1.14.1, v1.14.2, v1.14.3, v1.14.4].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

我正在尝试在互联网上解决这个问题,但我没有找到,我真的希望你能帮助我

这是我的 composer.json

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": ">=7.2.5",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "composer/package-versions-deprecated": "^1.11",
        "doctrine/annotations": "^1.11",
        "doctrine/doctrine-bundle": "^2.1",
        "doctrine/doctrine-migrations-bundle": "^3.0",
        "doctrine/orm": "^2.7",
        "php-amqplib/php-amqplib": "^2.12",
        "symfony/console": "5.1.*",
        "symfony/dotenv": "5.1.*",
        "symfony/flex": "^1.3.1",
        "symfony/form": "5.1.*",
        "symfony/framework-bundle": "5.1.*",
        "symfony/security-bundle": "5.1.*",
        "symfony/twig-bundle": "5.1.*",
        "symfony/validator": "5.1.*",
        "symfony/yaml": "5.1.*"
    },
    "require-dev": {
        "symfony/maker-bundle": "^1.23",
        "symfony/stopwatch": "^5.1",
        "symfony/web-profiler-bundle": "^5.1"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php72": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "5.1.*"
        }
    }
}
            

【问题讨论】:

  • 你为什么要安装这个库? Symfony不需要它,你应该安装symfony/messenger

标签: php symfony rabbitmq


【解决方案1】:

问题

它是这样说的

requires symfony/dependency-injection ^2.7|^3.0|^4.0

但同时你有

Restricting packages listed in "symfony/symfony" to "5.1.*"

所以它不会兼容。

可能的解决方案 1

你让 Symfony 的所有东西都“过时”了,比如

        "symfony/console": "^4.4.0|^5.0.0|^5.1.0",

    ...

    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "4.4.*"
        }
    }

(可能可以优化),这可能有效。

可能的解决方案 2

由于捆绑包已经有一段时间没有更新了,而您正在使用新版本的 Symfony,更好的方法可能是使用 symfony/messenger

【讨论】:

猜你喜欢
  • 2023-01-30
  • 2021-04-25
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 2018-05-27
  • 2018-04-05
  • 2020-06-16
相关资源
最近更新 更多