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

时间:2016-06-30 19:05:50

标签: php git-bash

我想问一下,当我输入

时,我从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
你能帮帮我们吗?抱歉英语不好。

谢谢。

1 个答案:

答案 0 :(得分:0)

此答案可以帮助https://stackoverflow.com/a/42934196/2110663

检查您的composer.json文件中是否发生了 app / AppKernel.php ,并检查您的文件结构以确保该文件位于路径中。
就我而言,我在composer.json中有下一部分(请参阅classmap)

 ...
    "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个选项:

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

我的解决方案是在运行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

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