Composer устанавливает symfony 3.4 вместо 4.x даже с PHP 7.2 - PullRequest
1 голос
/ 10 марта 2019

Я нахожусь на Ubuntu 16.04.6 LTS + Plesk 17.8.11 с несколькими установленными версиями PHP (7.0, 7.1 и 7.2), даже если я задаю следующую строку в файле .bashrc:

alias php='/opt/plesk/php/7.2/bin/php'

Я проверяю (с помощью php -v), что текущая версия PHP на самом деле равна 7.2

НО, когда я запускаю строку:

composer create-project symfony / website-skeleton my-project

У меня все еще есть Symfony 3.4 вместо 4.x

: (*

Вот файл composer.json после «myproject composer create-project symfony / website-skeleton myproject»командная строка:

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.0.8",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "sensio/framework-extra-bundle": "^5.1",
        "symfony/asset": "3.4.*",
        "symfony/console": "3.4.*",
        "symfony/dotenv": "3.4.*",
        "symfony/expression-language": "3.4.*",
        "symfony/flex": "^1.1",
        "symfony/form": "3.4.*",
        "symfony/framework-bundle": "3.4.*",
        "symfony/monolog-bundle": "^3.1",
        "symfony/orm-pack": "*",
        "symfony/process": "3.4.*",
        "symfony/security-bundle": "3.4.*",
        "symfony/serializer-pack": "*",
        "symfony/swiftmailer-bundle": "^3.1",
        "symfony/translation": "3.4.*",
        "symfony/twig-bundle": "3.4.*",
        "symfony/validator": "3.4.*",
        "symfony/web-link": "3.4.*",
        "symfony/yaml": "3.4.*"
    },
    "require-dev": {
        "symfony/debug-pack": "*",
        "symfony/maker-bundle": "^1.0",
        "symfony/profiler-pack": "*",
        "symfony/test-pack": "*",
        "symfony/web-server-bundle": "3.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-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": "3.4.*"
        }
    }
}

1 Ответ

0 голосов
/ 10 марта 2019

Вот решение, которое работает для меня: поскольку Composer всегда будет использовать версию PHP по умолчанию на сервере, создайте псевдоним: alias composer = '/ opt / plesk / php / 7.2 / bin / php / usr / lib /plesk-9.0 / composer.phar ', а затем Composer установит Symfony 4.x!

...