Laravel — Исключение RuntimeException — не удалось выполнить поиск классов внутри «app/tests/TestCase.php «

#laravel #laravel-4

#laravel #laravel-4

Вопрос:

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

Я просто взглянул на свой сайт, и он говорит:

 /vendor/symfony/security/Symfony/Component/Security/Core/Util/SecureRandom.php): failed to open stream: No such file or directory
  

Посмотрев в папках, расположение указанного выше файла на самом деле:

 /vendor/symfony/security-core/Symfony/Component/Security/Core/Util/SecureRandom.php): failed to open stream: No such file or directory
  

но я не изменил это?

Если я попытаюсь запустить composer update , я получу эту ошибку:

 root@server [/laravel]# composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files

  [RuntimeException]
  Could not scan for classes inside "app/tests/TestCase.php" which does not appear to be a file nor a folder
  

Есть идеи, что является причиной этого или как я должен это исправить / отладить?

Комментарии:

1. у вас есть app/tests/TestCase.php файл на вашем рабочем сервере? Если нет — вы должны удалить его из composer.json (или поместить файл обратно туда)

2. Отлично, это исправлено, хотя не уверен, почему это изменилось.

3. Круто — я добавил это в качестве ответа для вас.

4. если мой ответ ниже решил вашу проблему, пожалуйста, примите его. Спасибо 🙂

Ответ №1:

У вас есть app/tests/TestCase.php файл на вашем рабочем сервере?

Если нет — вы должны удалить его из composer.json (или поместить файл обратно туда)

Комментарии:

1. У меня тоже была эта проблема, и это исправило ее. По-видимому, во время моей настройки Codeception он добавил запись в автозагрузку classmap в composer.json для файла «app/tests/TestCase.php «. Удаление этой записи classmap позволило composer работать нормально.

2. Обязательно удалите тесты и их зависимости из рабочей среды. Используется --no-dev при выполнении команды composer.

Ответ №2:

У меня такая же проблема, с которой я столкнулся в Laravel 5.1, но теперь она решена. Решение таково: только тестовый каталог и файлы находятся в структуре корневых каталогов. В противном случае мы удалили composer.json.

Примечание: мы должны поддерживать основную структуру каталогов и файлов в фреймворках из-за миграции функций и улучшения проекта и целей тестирования.