Пакет fabpot / php-cs-fixer заброшен в сообщении Magento 2


12

Я использую Magento 2.0.5. Когда я запускаю команду composer updateили, composer installона показывает следующее предупреждение.

Пакет fabpot / php-cs-fixer оставлен, его следует избегать. Вместо этого используйте friendsofphp / php-cs-fixer.

введите описание изображения здесь

Я прочитал https://github.com/paliarush/magento2-vagrant-for-developers/issues/46, но ничего не получил.

Ответы:


12

Поскольку существующие ответы не совсем ясны по этому поводу:

  1. это не ошибка, только предупреждение. Заброшенный пакет все еще существует, и Magento уже заменил зависимость где-то в версии 2.1, так что вам не нужно об этом беспокоиться.
  2. Кажется, бывают случаи, когда предупреждение препятствует дальнейшей установке. В этом случае или если вы хотите избавиться от предупреждения и использовать текущую версию phpcsfixer (которая является инструментом разработки и не требуется для работы Magento), запустите эти команды в корне проекта:

    composer remove fabpot/php-cs-fixer
    composer require --dev friendsofphp/php-cs-fixer
    

    Не редактируйте composer.jsonили даже composer.lockнапрямую, чтобы избежать конфликтов!


3

Это зависимость в magento2, как там говорится. Они скоро это изменят. Magento использует эту зависимость, поэтому я не думаю, что вы можете что-либо с этим поделать.


3

Я столкнулся с этой же проблемой при установке Magento 2.1.8 с помощью Composer.

Это всего лишь предупреждение, а не ошибка. Таким образом, вы можете либо проигнорировать его, либо избавиться от этого предупреждения, заменив покинутый пакет требуемой версией phpcsfixer в вашей установке Magento.

Чтобы исправить это предупреждение, выполните следующие команды в корне вашего проекта:

composer remove fabpot/php-cs-fixer
composer require --dev friendsofphp/php-cs-fixer 2.1.1

Примечание. Это известная проблема № 7310, и Magento уже обновила эту зависимость в следующем основном выпуске Magento 2.2.

И еще одна вещь, пожалуйста, не редактируйте composer.jsonили composer.lockфайл напрямую. Это может создать конфликт при обновлении Magento в будущем.

Ура!


2

То же самое со мной из Magento 2.0.7 до 2.1.0, после установки патча MDVA-532 (я использую php 5.6.20). Обновление прервано вышеприведенным сообщением. Сейчас ничего не работает.

Чтобы исправить эту проблему, вам нужно изменить строку composer.json> "require-dev":

-"fabpot/php-cs-fixer": "~1.2"

с

 -"friendsofphp/php-cs-fixer": "~2.0".

Это удалило fabpot / php-cs-fixer и установило friendsofphp / php-cs-fixer.

Но обновление также прервано.


Magento скоро это изменит.
Храп Раджпут

1

Я смог решить эту проблему путем обновления файла composer.jason, заменив

"fabpot/php-cs-fixer": "~1.2"

с

"friendsofphp/php-cs-fixer": "~2.0"

и на composer.lock замена

"fabpot/php-cs-fixer": "0.4.0"

с

"friendsofphp/php-cs-fixer": "0.4.0"

и замена

"fabpot/php-cs-fixer": "1.7.*"

с

"friendsofphp/php-cs-fixer": "2.0.*"

0

Я встречал ту же самую проблему также. Но теперь я уже решил это.

Заменить "fabpot/php-cs-fixer": "~1.2"с -"friendsofphp/php-cs-fixer": "~2.0"как в composer.jsonи composer.lockфайле. Все идет хорошо


0

Я была такая же проблема.

Проблема заключалась в том, что я заменил fabpot / php-cs-fixer на friendsofphp / php-cs-fixer, не заменяя его также в composer.lock. Я побежал

composer self-update
composer clear-cache

Однако каждый раз, когда я пытался выполнить «обновление композитора», оно зависало при обновлении зависимостей. Вы можете увидеть это, запустив

composer update -vvv

Итак, наконец, я откатил изменения, внесенные в require-dev в composer.json, и все прошло успешно, обновив версию Magento до 2.1.10.

Затем я решил

composer remove fabpot/php-cs-fixer 

А потом

composer require --dev friendsofphp/php-cs-fixer

Тем не менее, установка завершается неудачно, потому что требования к версии symfony / console для friendsofphp / php-cs-fixer v.2.8 требуют PHP 7.1. В этом проблема, потому что Magento 2.1 не поддерживает эту версию php. Следовательно, friendsofphp / php-cs-fixer может быть установлен только с Magento 2.2


-2

Это исправлено для моего случая.

  1. Сначала запустите как администратор.
  2. Затем запустите команду установки composer в командной строке Node.js.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.