Как удалить пакет из Laravel с помощью composer?
Как правильно удалить пакет из Laravel 4? Так долго я пытался:
- Удалить объявление из
composer.json
(в разделе "требуется") - Удалите все псевдонимы классов из
app.php
- Удалите все ссылки на пакет из моего кода:-)
- Бежать
composer update
- Бежать
composer dump-autoload
Не работает! Я что-то пропустил?
Некоторые пакеты публикуют свою конфигурацию через "artisan config:publish ...". Есть ли способ отменить их публикацию?
24 ответа
Выполнение следующей команды удалит пакет из vendor (или везде, где вы устанавливаете пакеты), composer.json и composer.lock. Измените поставщика / пакет соответственно.
composer remove vendor/package
Очевидно, вам нужно удалить ссылки на этот пакет в вашем приложении.
В настоящее время я использую следующую версию композитора:
Composer version 1.0-dev (7b13507dd4d3b93578af7d83fbf8be0ca686f4b5) 2014-12-11 21:52:29
Получилось... Шаги по удалению пакета из Laravel:
- Удалить объявление из composer.json (в разделе "требуют")
- Удалить поставщика услуг из "app/config/app.php" (ссылка в массиве "provider")
- Удалите все псевдонимы классов из "app/config/app.php"
- Удалите все ссылки на пакет из вашего кода:-)
- Запустите "Обновление композитора вендор / имя пакета". Это удалит папку пакета из папки "vendor" и перестроит карту автозагрузки композитора.
- Удалите опубликованные файлы вручную (см. Комментарий от zwacky)
Он удалит папку пакета из папки "Поставщик"
Выполнение следующей команды
composer remove Vendor/Package Name
Вот и все. Нет необходимости в обновлении композитора. Имя поставщика / пакета - это просто каталог, установленный ранее
Обычно composer remove
используется как этого достаточно:
$ composer remove vendor/package
но если пакет composer удален, а кеш конфигурации не очищен, вы не можете очистить его, когда вы пытаетесь так
php artisan config:clear
вы можете получить ошибку In ProviderRepository.php line 208:
Класс 'Laracasts\Flash\FlashServiceProvider' не найден
это тупик, если только вы не удалите файлы
$rm bootstrap/cache/config.php
И это Laravel 5.6, о котором я говорю, а не какой-то очень старый материал.
Обычно это происходит при автоматическом развертывании, когда вы копируете файлы нового выпуска поверх старого кеша. Даже если вы очистили кеш перед копированием. В итоге вы получите старый кеш и новый composer.json.
Вы можете удалить любой пакет, просто набрав в терминале команду follwing, и просто удалите провайдеров и псевдонимы, которые вы указали во время установки пакета, если таковые имеются, и обновите композитор,
composer remove vendor/your_package_name
composer update
Спасибо, я нашел правильный формат удаления пакета
Синтаксис:
композитор удалить пакет
Пример:
композитор удалить ларавеллу / повозиться
Бег
Composer remove package/name
Php artisan optimize
например, «Composer remove mckenziearts/laravel-notify» работает для меня при использовании Laravel 8.
Перед удалением пакета из объявления composer.json удалите кеш
php artisan cache:clear
php artisan config:clear
Если вы забыли удалить кеш и у вас возникла ошибка класса not found, переустановите пакет, очистите кеш и удалите снова.
Вы можете сделать любой из следующих двух методов:
Выполнение приведенной ниже команды (наиболее рекомендуемый способ удаления пакета без обновления других пакетов)
$ composer remove vendor/package
Перейдите к файлу composer.json, а затем выполните команду, как показано ниже, она удалит ваш пакет (но он также обновит и другие ваши пакеты)
$ composer update
Если вы все еще получаете сообщение об ошибке после выполнения всех вышеуказанных шагов, перейдите к своим проектам bootstrap->cache->config.php
удалите записи провайдера и псевдонимов из кэшированного массива вручную.
**
используйте "композитор удалить продавца / пакет"
**
Установить / добавить Pakage
composer require firebear/importexportfree
Uninsall / Удалить
composer remove firebear/importexportfree
Окончательно после удаления:
php -f bin/magento setup:upgrade
php bin/magento setup:static-content:deploy –f
php bin/magento indexer:reindex
php -f bin/magento cache:clean
Чтобы добавить команду пакетов, выполните следующие действия:
composer require spatie/laravel-permission
Чтобы удалить команду пакетов, выполните следующие действия:
composer remove spatie/laravel-permission
Вы можете удалить любой пакет, набрав следующую команду в терминале, и просто удалите провайдеров и псевдоним, которые вы указали во время установки пакета, и обновите композитор
composer remove <package_name>
composer update
Если данные ответы по-прежнему не помогают вам удалить это, попробуйте следующее:
Удалите строку вручную
require
отcomposer.json
Бежать
composer update
Чтобы удалить пакет с помощью команды composer
composer remove <package>
Чтобы установить пакет с помощью команды composer
composer require <package>
Установить все пакеты, которые упомянуты в composer.json
composer install
Обновить пакеты
composer update
Я использовал их для проекта Laravel
Если не работает "composer remove", вы можете удалить это вручную.
1 - Перейдите в composer.json и найдите имя пакета
2 - Удалите имя пакета из composer.json
3 - Найдите файл поставщика в вашем проекте Laravel.
4 - Удалите файл пакета, принадлежащий поставщику
5 - запустите "composer install" на вашем терминале.
Ваш пакет был успешно удален.
Наслаждайтесь кодированием!
У вас есть два решения.
Первый
Использоватьremove
изcomposer
.
composer remove *your_package_name*
Второй
Удалите строку в require fromcomposer.json
а затем запуститьupdate
composer update
После удаления рекомендуем выполнить ниже две команды.
php artisan cache:clear
php artisan config:clear
Удалите пакет с
composer remove vendorname/packagename
вы можете проверить удаление пакета из composer.json - docs
Или вы можете удалить имя пакета из composer.json
файл и запустить composer update
из каталога вашего проекта. Я надеюсь, что это помогает.
Мы пришли с отличным решением. Это решение практически реализовано в Laravel 6. Если вы хотите удалить какой-либо пакет из своего проекта Laravel, вы можете легко удалить пакет, выполнив следующие шаги:
Шаг 1: Вы должны знать имя пакета, который хотите удалить. Если вы не знаете полное имя пакета, вы можете открыть папку проекта и перейти кcomposer.json
файл и проверьте имя в требуется массив
"require": {
"php": "^7.2",
"fideloper/proxy": "^4.0",
"laravel/framework": "^6.2",
"laravel/passport": "^8.3",
"laravel/tinker": "^2.0"
},
Предположим, здесь я собираюсь удалить пакет "фиделопер / прокси".
Шаг 2: Откройте командную строку с каталогом корневой папки вашего проекта. Шаг 3: Прежде всего очистите весь кеш с помощью следующих команд. Запускайте команды одну за другой.
php artisan cache:clear
php artisan config:clear
Шаг 4: Теперь напишите следующую команду для удаления пакета. Здесь вам нужно изменить имя вашего пакета вместо моего примера пакета.
composer remove fideloper/proxy
Теперь подождите несколько секунд, когда ваш пакет удаляется.
- Удалить папку пакета из папки поставщика (удаление вручную)
- удалите его из файлов 'composer.json' и ' composer.lock ' (используйте ctrl +f5 для поиска)
- удалить его из «конфигурации / app.php » & «самозагрузки / кэш / config.php » файлов
- запустите эти команды:
- композитор удалить ваше-имя-пакета
- php artisan cache: очистить & php artisan config: очистить
На laravel 8.* У меня работают следующие шаги:
Команда выполнения
composer remove package-name
на терминалеУдалять
Provider
иaliases
изConfig/app.php
Удалите связанный файл из папки Config.
Удалите из кода, где вы использовали.
Спасибо за вопрос
просто напишите composer remove - (имя пакета). в командной строке он удалит пакет. просто убедитесь, что внесены изменения или не проверяйте файл composer.json ..
Я надеюсь, что это поможет вам
Здесь довольно много шагов:
- Перейдите в composer.json и найдите пакет и то, как он там написан.
- например
{ "require": { "twig/twig": "^3.0" } }
Я хочу удалить веточку 3.0
Теперь откройте cmd и запустите
composer remove vendor/your_package_name
в качествеcomposer remove twig/twig
это удалит пакет.В качестве последнего шага
composer update
это обязательно даст вам массажnothing to install or update
но это важно, если у ваших пакетов есть взаимозависимости.