Не удалось установить composer в проект Symfony 2.8


Как установить composer в проект symfony 2.8 с php 5.6? вот мой composer.json.

{
"name": "SIIG/eTAB",
"description": "SIIG/eTAB",
"autoload": {
    "psr-0": { "": "src/" }
},
"require": {
    "php": ">=5.3.3",

    "symfony/symfony": "2.6.*",
    "doctrine/orm": "v2.4.4",
    "doctrine/doctrine-bundle": "v1.2.0",
    "twig/extensions": "v1.0.1",
    "symfony/assetic-bundle": "2.3.*@stable",
    "kriswallsmith/assetic": "1.1.x@stable",
    "symfony/swiftmailer-bundle": "v2.3.7",
    "symfony/monolog-bundle": "v2.6.1",
    "sensio/distribution-bundle": "v2.3.4",
    "sensio/framework-extra-bundle": "v2.3.4",
    "sensio/generator-bundle": "v2.3.5",
    "incenteev/composer-parameter-handler": "v2.1.0",

    "doctrine/data-fixtures": "v1.0.0",
    "doctrine/doctrine-fixtures-bundle": "v2.2.0",

    "knplabs/knp-menu-bundle":"dev-master",

    "sonata-project/cache": "dev-master",
    "sonata-project/cache-bundle": "dev-master",
    "sonata-project/datagrid-bundle": "dev-master",
    "sonata-project/core-bundle": "dev-master",
    "sonata-project/admin-bundle": "dev-master",
    "sonata-project/doctrine-orm-admin-bundle": "dev-master",
    "sonata-project/block-bundle": "dev-master",
    "sonata-project/easy-extends-bundle": "dev-master",
    "sonata-project/user-bundle": "dev-master",


    "simplethings/entity-audit-bundle": "v0.6",
    "friendsofsymfony/user-bundle": "v1.3.3",
    "friendsofsymfony/jsrouting-bundle": "v1.5.3"

и бросает мне следующую ошибку. introducir la descripción de la imagen aquí

Author: Igmer Rodriguez, 2017-12-05

2 answers

Composer может быть установлен следующим образом:

  curl -s https://getcomposer.org/installer | php

Затем в корне вашего проекта:

composer install
 0
Author: Igmer Rodriguez, 2018-12-13 15:19:08

Сама ошибка довольно ясна, вы пытаетесь установить версию 2.3.2 twig, которая требует наличия php7 или выше, но ваша версия php-5.6.30. на данный момент у вас есть два варианта:

  • обновляет версию php до более новой. Php7, PHP7.1 и PHP7.2 представляют собой большой скачок производительности по сравнению с php5.6
  • устанавливает версию twig, которая поддерживает php5. 6, последней является v1.35.0, добавление: "twig/twig" : "^1.35"

Удаление файла из composer.lock - Очень плохая идея. Как composer.json, так и composer.lock - это файлы, которые должны быть сохранены в вашем репозитории. Выполняя composer install, вы сохраняете точную фиксацию зависимостей вашего проекта. Если одна из этих библиотек вводит "backward compatibility break", вы можете оказаться в ситуации, когда вам нужно вернуть зависимости в предыдущее состояние, если у вас нет файла composer.lock может быть довольно сложно исправить это, особенно, если у вас нет большого опыта работы с composer.

С другой стороны, вы не должны поддерживать зависимости от dev-master, если это не является полным и строго необходимым (временным). Библиотеки sonata имеют помеченные версии, вы можете найти их в packagist. Хорошей отправной точкой являются те, которые помечены 3, например:

"sonata-project/user-bundle" : "^3"

На этой неделе вышел symfony3. 4 и symfony4 поэтому они могут внести изменения в это ветка для исправления несовместимости с последней версией.

 1
Author: Dario PP, 2017-12-06 18:40:21