RuntimeException 无法扫描“app/AppKernel.php”中的类,该类似乎不是文件也不是文件夹

Posted

技术标签:

【中文标题】RuntimeException 无法扫描“app/AppKernel.php”中的类,该类似乎不是文件也不是文件夹【英文标题】:RuntimeException Could not scan for classes inside "app/AppKernel.php" which does not appear to be a file nor a folder 【发布时间】:2016-11-03 00:53:00 【问题描述】:

我想问一下,当我输入这个时,我会从 git bash 得到这个消息

$ composer require slim/slim "^3.0" 然后出现这样的警告。

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

你们能帮帮我吗?抱歉英语不好。

谢谢。

【问题讨论】:

试试composer dump-autoload 我们需要您的操作系统版本和作曲家版本...... Windows 8 和我的作曲家是最新版本。 Farkie,我按照你的方法试过了,还是不行 【参考方案1】:

这个答案可以帮助https://***.com/a/42934196/2110663

检查您的composer.json 文件是否存在app/AppKernel.php,并检查您的文件结构以确保您在路径中有此文件。 就我而言,我在 composer.json 中有下一部分(请参阅类图)

 ...
    "autoload": 
        "psr-4": 
            "AppBundle\\": "src/AppBundle",
        ,
        "classmap": [
            "app/AppKernel.php",
            "app/AppCache.php"
        ]
    ,
 ...

我尝试在不依赖代码的情况下在第一家供应商处构建 dockerfile 和缓存。所以 接下来是我的 dockerfile

...
ADD composer.json .
ADD composer.lock .
RUN composer install
...

在这种情况下,文件系统不包含 app/AppKernel.php 文件,但它需要 composer.json 文件。 要解决此问题,我们有 2 个选项:

    更新 composer.json 并删除其中提到的有问题的文件 添加文件,或检查文件系统中是否存在

我的解决方案是在运行composer install 之前添加缺失文件。更新后的 Dockerfile 如下所示:

ADD composer.json .
ADD composer.lock .
# Fix composer install issue with adding 2 lines below
ADD app/AppKernel.php app/
ADD app/AppCache.php app/

RUN composer install

希望这个提示可能对其他人有所帮助

【讨论】:

以上是关于RuntimeException 无法扫描“app/AppKernel.php”中的类,该类似乎不是文件也不是文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine JSP 无法部署:java.lang.RuntimeException:无法获取系统 Java 编译器。请使用 JDK,而不是 JRE

任务':app:transformClassesWithDexBuilderForDebugAndroidTest'的执行失败,java.lang.RuntimeException(代

微信扫描二维码无法下载APP怎么办?

android.app.ActivityThread.performLaunchActivity 的 java.lang.RuntimeException

由于 ***Error,无法完成对 Web 应用程序 [/app] 注释的扫描

RuntimeException:无法调度事件@otto