php 致命错误:未找到接口“Psr\Container\ContainerInterface”

qncylg1j  于 2023-06-04  发布在  PHP
关注(0)|答案(3)|浏览(387)

两个星期前我没有任何问题,但今天这出现时,我把 composer 安装
加载包含包信息的编写器存储库
从锁文件安装依赖项(包括require-dev)
没有安装或更新
生成优化的自动加载文件
Illuminate\Foundation\ComposerScripts::postAutoloadDump PHP Fatal error:/htdocs/nuevodirectorio/ClinicaLaravel/vendor/laravel/framework/src/Illuminate/Contracts/Container/Container.php LINE:8
致命错误:/htdocs/nuevodirectorio/ClinicaLaravel/vendor/laravel/framework/src/Illuminate/Contracts/Container/Container.php LINE:8
下面是Container.php的部分代码:

<?php
  namespace Illuminate\Container;

  use Closure;
  use Exception;
  use ArrayAccess;
  use LogicException;
  use ReflectionClass;
  use ReflectionParameter;
  use Illuminate\Support\Arr;
  use Illuminate\Contracts\Container\BindingResolutionException;
  use Illuminate\Contracts\Container\Container as ContainerContract;

  class Container implements ArrayAccess, ContainerContract
  {
   ...
  }
cbeh67ev

cbeh67ev1#

在我的工作中,我们遇到了同样的问题。在我们的例子中,有一个psr/container文件引起了冲突,但是这个文件在composer全局缓存中,所以单独删除vendor文件夹对我们没有帮助。首先,我们需要使用以下命令清除composer缓存:

composer clearcache

然后我们删除了vendor文件夹并运行composer install,一切都很顺利。我希望这个解决方案能帮助到一些人。

smdncfj3

smdncfj32#

我也有同样的问题。
仍在调查,但到目前为止我发现,运行composer install --no-dev [...]时,我在供应商的vendor/psr/container中有psr/container包,但在vendor/composer/autoload_psr4.php中缺少'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),行。
目前,我修复了它,包括开发依赖项,直到我找到真实的的修复方法。

c2e8gylq

c2e8gylq3#

对我有用的是删除vendor目录和composer.lock文件,然后重新安装依赖项。

相关问题