Ошибка установки composer из-за версии symfony / маршрутизации - PullRequest
0 голосов
/ 06 ноября 2018

В Ubuntu 18.04 у меня установлен php. Я подтвердил это работой с тестированием index.php. Я сейчас пытаюсь установить композитор

composer install

Но была показана ошибка ниже:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for symfony/routing v4.1.6 -> satisfiable by symfony/routing[v4.1.6].
    - don't install symfony/symfony v3.4.17|don't install symfony/routing v4.1.6
    - Installation request for symfony/symfony v3.4.17 -> satisfiable by symfony/symfony[v3.4.17].

Я ранее установил Symfony как пакет

 sudo apt install php-symfony
php-symfony is already the newest version (3.4.6+dfsg-1ubuntu0.1).

Должен ли я удалить Symfony и заменить его на Symfony / routing v4.1.6? Я долго гуглил, но не могу найти соответствующие инструкции. Документация Symfony, кажется, показывает только инструкцию по использованию composer для установки Symfony. Но теперь у меня проблемы с установкой композитора. Пожалуйста, помогите, спасибо!

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Пакет symfony/symfony уже включает компонент маршрутизации (который вы пытаетесь установить с пакетом symfony/routing). Это то, что Composer неправильно допустил в более старых версиях и было исправлено в Composer 1.7.3.

Вам действительно нужен компонент маршрутизации в версии 4? Если это так, вам нужно сначала удалить symfony/symfony и явно потребовать все необходимые компоненты, если вы не можете обновить все пакеты Symfony до 4.1.

0 голосов
/ 06 ноября 2018

Если вы хотите установить новый проект Symfony, я рекомендую не использовать упакованный php-symfony, а вместо этого использовать composer для создания нового проекта с нуля. Я не знаю много о пакете, но, как вы можете судить по версии, она устарела (текущая версия v3.4.18). Использовать устаревший пакет не рекомендуется. Вместо этого используйте рекомендуемый способ настройки нового проекта:

composer create-project symfony/skeleton my-project

Если вам нужно приложение с полным стеком, вы также можете использовать symfony/website-skeleton в качестве основы для проекта. Если вы хотите придерживаться старой версии 3.4, вы можете добавить ограничение к команде:

composer create-project symfony/skeleton:"^3.4"

Смотри также https://symfony.com/doc/current/setup.html

...