简体   繁体   English

无法安装 symfony/maker-bundle

[英]Can't install symfony/maker-bundle

I am new to Symfony, I tried to install symfony/maker-bundle , but it gives me the following error:我是 Symfony 的新手,我尝试安装symfony/maker-bundle ,但它给了我以下错误:

Using version ^1.22 for symfony/maker-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
    - ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
    - ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
    - Installation request for ocramius/proxy-manager (locked at 2.9.0) -> satisfiable by 
ocramius/proxy-manager[2.9.0].

I searched for similar problems, and often they change a package version in composer.json as the solution, but I can't find neither ocramius/proxy-manager nor composer-runtime-api in it:我搜索了类似的问题,他们经常在composer.json更改包版本作为解决方案,但是我在其中找不到ocramius/proxy-managercomposer-runtime-api

{
"type": "project",
"license": "proprietary",
"require": {
    "php": "^7.1.3",
    "ext-ctype": "*",
    "ext-iconv": "*",
    "ext-simplexml": "*",
    "bluetel-solutions/twig-truncate-extension": "^0.1.3",
    "friendsofsymfony/rest-bundle": "^2.7",
    "jms/serializer-bundle": "^3.5",
    "liip/imagine-bundle": "^2.2",
    "sensio/framework-extra-bundle": "^5.4",
    "symfony/apache-pack": "^1.0",
    "symfony/asset": "4.4.*",
    "symfony/console": "4.4.*",
    "symfony/dotenv": "4.4.*",
    "symfony/flex": "^1.3",
    "symfony/form": "4.4.*",
    "symfony/framework-bundle": "4.4.*",
    "symfony/mailer": "4.4.*",
    "symfony/monolog-bundle": "^3.4",
    "symfony/orm-pack": "^1.0",
    "symfony/security-bundle": "4.4.*",
    "symfony/security-csrf": "4.4.*",
    "symfony/serializer": "4.4.*",
    "symfony/swiftmailer-bundle": "^3.4",
    "symfony/translation": "4.4.*",
    "symfony/twig-bundle": "4.4.*",
    "symfony/validator": "4.4.*",
    "symfony/webpack-encore-bundle": "^1.7",
    "symfony/yaml": "4.4.*",
    "twig/extensions": "^1.5",
    "vich/uploader-bundle": "^1.12",
    "whatwedo/core-bundle": "dev-symfony5",
    "whatwedo/search-bundle": "dev-symfony5"
},
"require-dev": {
    "symfony/maker-bundle": "^1.12",
    "symfony/web-server-bundle": "4.4.*"
},
"config": {
    "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-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": "4.4.*"
    }
}

May be I need an other version of symfony/maker-bundle ?我可能需要其他版本的symfony/maker-bundle吗?

Ocramius is well known for his harsh stance in maintaining backward compatibility. Ocramius 以其在保持向后兼容性方面的严厉立场而闻名。

On this case, release 2.9.0 says:在这种情况下,版本 2.9.0说:

This release upgrades ocramius/proxy-manager to use composer-runtime-api:^2 : this means that you will need composer:^2 to install this version of ProxyManager.此版本升级ocramius/proxy-manager以使用composer-runtime-api:^2 :这意味着您将需要composer:^2来安装此版本的 ProxyManager。

In order to upgrade to composer v2, you can run composer self-update --2 on your development or CI/CD system.为了升级到 composer v2,您可以在您的开发或 CI/CD 系统上运行composer self-update --2

So your options are:所以你的选择是:

  • either upgrade composer to version 2 ( composer self-update --2 ), which is really the recommended way to go unless you have some specific composer plugin that you really need and hasn't been updated to account for the new release.要么将 composer 升级到版本 2( composer self-update --2 ),这确实是推荐的方法,除非您有一些您真正需要的特定 composer 插件并且尚未更新以适应新版本。

  • Find which package you are installing is the one that requires the proxy-manager ( composer why ocramius/proxy-manager ), and see if you can adjust your version constraints on that package so that it depends on an older (< 2.9) version of ocramius/proxy-manager .找到您正在安装的软件包是需要代理管理器的composer why ocramius/proxy-managercomposer why ocramius/proxy-manager ),并查看您是否可以调整对该软件包的版本限制,使其依赖于较旧的(< 2.9)版本ocramius/proxy-manager (I mention this option only for completeness sake, but upgrading composer is really the way to go). (我提到这个选项只是为了完整起见,但升级作曲家确实是要走的路)。

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

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