2016-02-15 6 views
3

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

То, что я сделал до сих пор:

  • composer remove barryvdh/laravel-debugbar
  • Я удалил то ссылки в конфиге/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 Edit: Я также попытался удалить все папки vendor, а затем снова установить его с помощью composer install, но я снова получил ошибку, когда команда php artisan clear-compiled была запущена angain.

ответ

4

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

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

+0

Спасибо, что написали решение! Это была проблема на моей стороне, никаких других исправлений не было. :) –

+0

Добро пожаловать! –

3

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

Barryvdh\Debugbar\ServiceProvider::class 

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

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

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

+0

Извините, когда я сказал: «Я удалил ссылки в приложении/config», я имел в виду int «config/app.php». Виноват ! Он был удален, но это, похоже, не работает. –

+0

Запуск 'php artisan clear-compiled' должен удалить все скомпилированные файлы, которые хранятся в' bootstrap/cache', включая найденный там файл 'services.php', который содержит список классов кэшированных поставщиков услуг. Вы можете проверить и подтвердить, удалены ли файлы после запуска команды и если они не удаляются сами. Если проблема не устранена, выполните глобальный поиск текста «Barryvdh \ Debugbar \ ServiceProvider» во всех файлах приложений, чтобы увидеть, где у вас могут быть любые оставшиеся ссылки на класс поставщика (хотя файлы кеша начальной загрузки являются единственными, которые имеют смысл). – Bogdan

+0

Спасибо, я посмотрю сегодня. –

1

Вы должны:

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

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

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

+0

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

+0

Спасибо, но я уже нашел решение моей проблемы (что более конкретно). Однако ваш комментарий все еще действителен. –

2

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

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

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

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 работает хорошо.

+0

Извините, как ваш ответ отличается от того, который я уже дал? Вы даже копируете/вставляете первую строку. –

0

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

+0

Это не очень отличается от композитора, и не решила бы эту (конкретную) проблему –

Смежные вопросы