Чи є спосіб видалити залежності розробника за допомогою композитора?


75

Я хочу видалити (і не видаляти з мого composer.json) залежності розробників від проекту.

Чи є простий спосіб це зробити?

Відповіді:


77

Запуск installабо updateз --no-devтепер повинен видалити вимоги dev та їх залежності.

Оригінальна відповідь для історичних цілей:

Насправді ні. Звичайно, ви можете вручну rm -rf їх з каталогу постачальника, але композитор не пропонує способу видалити вимоги dev після інсталяції за допомогою --dev. Це не величезний випадок використання, але може вимагати нового перемикача командного рядка, якщо ви хочете повідомити про проблему на github.


10
Зараз ця поведінка змінилася. Вам просто потрібно додати перемикач --dev до оновлення композитора, щоб фізично видаляти пакети розробників
Matt Hamphrey

8
Щоб зрозуміти, команда є composer install --no-dev. Це призведе до видалення пакунків розробника, composer.jsonа composer.lockфайли залишаться цілими.
меридіус

45

Ви можете використовувати наступну команду після видалення залежностей у composer.jsonфайлі.

composer update

2
Зверніть увагу, бо це може призвести до того, що все, що знаходиться в "вимагати", буде видалено та видалено
agapitocandemor

25

Звернувся до цього питання, шукаючи ту саму відповідь. Тепер ви можете видалити встановлені залежності розробника, просто виконавши:

composer --no-dev update

Він видалить усі знайдені пакети розробників. Хоча це зацікавило б людей, які десантувались сюди так само, як і я :)


Не найінтуїтивніший варіант командного рядка .. але він є! Дякую!
ljrh

Це не гарна ідея, якщо ви не фіксуєте версії інших пакунків, оскільки не тільки видаляєте dev deps, але й можете оновлювати поточні версії інших пакетів. Не сумісний для виробничого використання.
brutto

Звичайно, але це абсолютно не пов’язано з початковим питанням. Крім того, у виробництві ви НІКОЛИ не повинні використовувати composer update, завжди використовуйте composer installз фіксованим composer.lockфайлом. Сказано: ви також можете використовувати опцію для цієї команди. Будь ласка, зверніться до прийнятої відповіді, яка була змінена, щоб також включити це: Селдак є автором композитора.
Blizz

7

Це не сувора відповідь, але може комусь допомогти.

Щоб видалити певну залежність розробника:

composer remove --dev squizlabs/php_codesniffer

2

Я відповів пізніше, але це може допомогти комусь іншому: composer remove friendsofsymfony/elastica-bundle(наприклад)

Воля

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.