Laravel удаляет пакет с композитором

Я попытался удалить barryvdh/laravel-debugbar из моей установки laravel, и, похоже, я этого не сделал. сделать что-то правильно.

Что я сделал до сих пор:

  • composer remove barryvdh/laravel-debugbar
  • Затем я удалил ссылки в config/app.php

А у меня ошибка:

[RuntimeException]
Error Output: PHP Fatal error:
Class 'Barryvdh\Debugbar\ServiceProvider' not found in 
{mypath}\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php on line 146

Я пробовал дамп-автозагрузку, очистку-компиляцию, но ничего не работает.

Что я упустил ?


22.02.2016 Редактировать: я также пытался удалить ВСЕ папку vendor, затем снова установить ее через composer install, но снова получил ошибку, когда команда php artisan clear-compiled была запущена снова.


person Marc Brillault    schedule 15.02.2016    source источник


Ответы (5)


Хорошо, кажется, я поигрался с ремесленными командами, и файл конфигурации был закэширован (через php artisan config:cache).

Я удалил его (в bootstrap/cache/config.php), и все работает как часы, но я также мог использовать команду php artisan config:clear для его удаления.

person Marc Brillault    schedule 22.02.2016
comment
Спасибо, что написали решение! Это была проблема и на моей стороне, никакие другие исправления не помогли. :) - person Mohamed Ebrahim; 23.04.2017

Когда вы установили Debugbar, после установки пакета через композитор вам нужно было добавить класс в массив providers в config/app.php. Поэтому вам нужно удалить эту строку оттуда:

Barryvdh\Debugbar\ServiceProvider::class

Если прописать еще и фасад, то из массива aliases из того же файла нужно удалить следующее:

'Debugbar' => Barryvdh\Debugbar\Facade::class

Если вы также запустили php artisan vendor:publish (это последний шаг, описанный в разделе установки из пакета readme), то вы также можете удалить файл config/debugbar.php, хотя оставление этого файла конфигурации на месте не вызовет никаких проблем.

person Bogdan    schedule 15.02.2016
comment
Извините, когда я сказал, что удалил ссылки в app/config, я имел в виду int config/app.php. Виноват ! Он был удален, но это, похоже, не работает. - person Marc Brillault; 15.02.2016
comment
Запуск php artisan clear-compiled должен был удалить все скомпилированные файлы, хранящиеся в bootstrap/cache, включая найденный там файл services.php, который содержит список кэшированных классов поставщиков услуг. Вы можете проверить и подтвердить, удаляются ли файлы после запуска команды, а если нет, то удалить их самостоятельно. Если проблема не устранена, выполните глобальный поиск текста Barryvdh\Debugbar\ServiceProvider во всех файлах приложения, чтобы увидеть, где у вас могут быть оставшиеся ссылки на класс провайдера (хотя файлы кеша начальной загрузки — единственные, которые имеют смысл). - person Bogdan; 15.02.2016
comment
Спасибо, вечером посмотрю. - person Marc Brillault; 15.02.2016
comment
Извините за задержку. php artisan clear-compiledвыдает ту же ошибку. Я просмотрел файлы, и единственные упоминания (кроме файлов журнала) видны здесь: pastebin.com/TmrspnZu - person Marc Brillault; 18.02.2016

Ответ Марка Брийо правильный. Я добавляю больше пояснений к этому ответу:

Я удалил класс панели отладки вручную из файлов улова. присутствует в (bootstrap/cache/config.php).

Шаги для удаления вручную class.

1.) Open this two files 
   `bootstrap/cache/config.php`
   `config/app.php`

2.) Find this two line and remove It.        
    Barryvdh\Debugbar\ServiceProvider::class,
   'Debugbar' => Barryvdh\Debugbar\Facade::class,

3.) run command `php artisan config:clear`

после выполнения этого шага проверьте правильность работы команды php artisan list.

person Chintan Kotadiya    schedule 25.08.2017
comment
Простите, чем ваш ответ отличается от того, что я уже дал? Вы даже скопировали/вставили первую строку. - person Marc Brillault; 25.08.2017

ты должен:

Первый. Удалите ссылки на Debugbar в config/app.php

Второй. композитор удалить barryvdh/laravel-debugbar

В этой последовательности. Если вы этого не сделаете, Laravel запутается;)

person Xurde Durán    schedule 22.12.2016
comment
Я забыл сказать, что вы можете снова сделать composer require barryvdh/laravel-debugbar, чтобы вернуть его в установленную точку, и удалить его, выполнив эти два шага в правильном порядке. - person Xurde Durán; 22.12.2016
comment
Спасибо, но я уже нашел решение своей проблемы (которое было более конкретным). Тем не менее, ваш комментарий остается в силе. - person Marc Brillault; 22.12.2016

Лучший способ, который вам нужно сделать, это удалить все файлы вручную во всех файлах композитора.

person Soeurng Sar    schedule 10.12.2017
comment
Это не сильно отличается от удаления композитора и не решило бы эту (конкретную) проблему. - person Marc Brillault; 10.12.2017