Pakiet fabpot / php-cs-fixer został porzucony w Magento 2

Odpowiedzi:

12

Ponieważ istniejące odpowiedzi nie są do końca jasne:

  1. to nie jest błąd, tylko ostrzeżenie. Opuszczony pakiet nadal istnieje, a Magento już zastąpił zależność gdzieś w wersji 2.1, więc nie musisz się o to martwić.
  2. Wydaje się, że istnieją przypadki, w których ostrzeżenie uniemożliwia dalsze instalacje. W takim przypadku lub jeśli chcesz pozbyć się ostrzeżenia i użyć bieżącej wersji phpcsfixer (która jest narzędziem programistycznym i nie jest wymagana do działania Magento), uruchom następujące polecenia w katalogu głównym projektu:

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

    Nie edytuj composer.jsonani nawet composer.lockbezpośrednio, aby uniknąć konfliktów!

Fabian Schmengler
źródło
3

Jest to zależność w Magento2, jak tam napisano. Wkrótce to zmienią. Magento korzysta z tej zależności, więc nie sądzę, abyś mógł coś z tym zrobić.

Claudiu Creanga
źródło
3

Ten sam problem napotkałem podczas instalacji Magento 2.1.8 za pomocą Composer.

To tylko ostrzeżenie, a nie błąd. Możesz więc zignorować to lub pozbyć się tego ostrzeżenia, zastępując porzucony pakiet wymaganą wersją phpcsfixer w instalacji Magento.

Aby naprawić to ostrzeżenie, uruchom następujące polecenia w katalogu głównym projektu:

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

Uwaga: Jest to znany problem nr 7310, a Magento już zaktualizowało tę zależność w następnej głównej wersji Magento 2.2.

I jeszcze jedno: nie edytuj composer.jsonani nie composer.lockarchiwizuj bezpośrednio. Może to powodować konflikt podczas aktualizacji Magento w przyszłości.

Twoje zdrowie!

Rahul Kachhadiya
źródło
2

To samo ze mną od Magento 2.0.7 do 2.1.0, po zainstalowaniu łatki MDVA-532 (używam php 5.6.20). Aktualizacja przerwana z powodu powyższego komunikatu. Teraz nic nie działa.

Aby rozwiązać ten problem, musisz wprowadzić zmiany w pliku composer.json> „need-dev”:

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

z

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

To usunęło fabpot / php-cs-fixer i zainstalowało friendsofphp / php-cs-fixer.

Ale aktualizacja również została przerwana.

George AB
źródło
Magento wkrótce to zmieni.
Praful Rajput
1

Udało mi się to rozwiązać, aktualizując plik composer.jason, zastępując go

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

z

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

i przy wymianie composer.lock

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

z

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

i zastępując

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

z

"friendsofphp/php-cs-fixer": "2.0.*"
S.Mikhail
źródło
0

Spotkałem również ten sam problem. Ale teraz już to rozwiązałem.

Wymień "fabpot/php-cs-fixer": "~1.2"się -"friendsofphp/php-cs-fixer": "~2.0"zarówno composer.jsoni composer.lockpliku. Wszystko idzie dobrze.

użytkownik50375
źródło
0

Miałem ten sam problem.

Problem polegał na tym, że zamieniłem fabpot / php-cs-fixer na friendsofphp / php-cs-fixer bez zastępowania go również w pliku composer.lock. Pobiegłem

composer self-update
composer clear-cache

Jednak za każdym razem, gdy próbowałem wykonać „aktualizację kompozytora”, zawieszało się to na aktualizacjach zależności. Możesz to zobaczyć, uruchamiając

composer update -vvv

W końcu wycofałem zmiany wprowadzone w pliku Requ-dev w pliku composer.json i wszystko poszło dobrze, aktualizując wersję Magento do 2.1.10

Potem postanowiłem

composer remove fabpot/php-cs-fixer 

I wtedy

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

Jednak instalacja kończy się niepowodzeniem, ponieważ wymagania dotyczące wersji symfony / konsoli Friendsofphp / php-cs-fixer v.2.8 wymagają PHP 7.1. To jest problem, ponieważ Magento 2.1 nie obsługuje tej wersji php. Dlatego znajomychofphp / php-cs-fixer można zainstalować tylko z Magento 2.2

Iveta Allogenes
źródło
-2

Zostało to naprawione w ten sposób w moim przypadku.

  1. Najpierw uruchom jako administrator.
  2. Następnie uruchom polecenie instalacji kompozytora w wierszu polecenia Node.js.
Jamsheed
źródło