Обновление Symfony 3.4 до 4.x с Flex - Composer Проблемы - PullRequest
0 голосов
/ 04 мая 2020

У меня есть проект Symfony 3.4, который я пытаюсь обновить до 4.x с помощью Flex, но я падаю на первое препятствие.

С выводом Composer это многословно, я полагаю ответ смотрит мне прямо в лицо, но я этого не вижу. Что мне нужно сделать? Я удалил все в поставщике, удалил мой файл composer .lock, очистил кэш composer и т. Д. c.

composer. json

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "sensio/framework-extra-bundle": "^5.5",
        "symfony/console": "4.4.*",
        "symfony/dotenv": "4.4.*",
        "symfony/flex": "^1.3.1",
        "symfony/framework-bundle": "4.4.*",
        "symfony/monolog-bundle": "^3.5",
        "symfony/orm-pack": "^1.0",
        "symfony/profiler-pack": "^1.0",
        "symfony/twig-pack": "^1.0",
        "symfony/yaml": "4.4.*",
        "friendsofsymfony/jsrouting-bundle": "^2.5",
        "friendsofsymfony/user-bundle": "~2.0",
        "stof/doctrine-extensions-bundle": "^1.3",
        "symfony/swiftmailer-bundle": "^2.6.4",
        "ext-json": "*"
    },
    "require-dev": {
        "symfony/debug-pack": "^1.0",
        "phpstan/extension-installer": "^1.0",
        "phpstan/phpstan": "^0.12.19",
        "phpstan/phpstan-doctrine": "^0.12.10",
        "phpunit/phpunit": "^7.5",
        "symfony/phpunit-bridge": "^3.0"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "4.4.*"
        }
    }
}

Пытался composer установить с:

php -d memory_limit=-1 /usr/local/bin/composer install

И все это извергается (слишком большой, чтобы вставить здесь): https://pastebin.com/KLVRkYdF

В другом месте увидел что-то о необходимости сначала установить Flex, поэтому я попробовал это:

php -d memory_limit=-1 /usr/local/bin/composer update symfony/flex --no-plugins --no-scripts

Но получил следующую ошибку (слишком большая для вставьте сюда): https://pastebin.com/KxG2siZi

Ответы [ 2 ]

2 голосов
/ 04 мая 2020

Проблема в том, что вы не обновили symfony/swiftmailer-bundle - как указано в composer.json, вы пытались установить максимум v2.6.7, для которого требуется symfony/http-kernel в v2.7 или v3.x. Это несовместимо с symfony/framework-bundle в v4.4, поскольку для этого требуется, чтобы symfony/http-kernel принадлежало той же ветке v4.4.

Вывод: также обновите symfony/swiftmailer-bundle до версии не ниже v3.1, что первый совместимый с Symfony v4.

0 голосов
/ 04 мая 2020

В прошлом у меня также было много проблем с composer, версиями пакетов и ограничениями памяти.

Варианты пакетов: установите для всех пакетов symfony версию "*", если вам не требуется указывать c Версия на данный момент. Таким образом, composer выберет ту, которая соответствует вашей настроенной версии symfony.

Ограничение памяти: какую IDE вы используете? Какая PHP версия? 32 или 64 бит? Попробуйте запустить commany за пределами IDE и посмотрите, что произойдет. Или попробуйте команду symfony.

...