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

Posted

技术标签:

【中文标题】致命错误:未找到接口“Psr\\Container\\ContainerInterface”【英文标题】:Fatal error: Interface 'Psr\Container\ContainerInterface' not found in致命错误:未找到接口“Psr\Container\ContainerInterface” 【发布时间】:2019-05-06 13:38:49 【问题描述】:

两周前我没有任何问题,但是今天我安装composer时出现了这个

使用包信息加载作曲家存储库

从锁文件安装依赖项(包括require-dev)

无需安装或更新

生成优化的自动加载文件

Illuminate\Foundation\ComposerScripts::postAutoloadDump php 致命错误:在第 8 行的 /opt/lampp/htdocs/nuevodirectorio/ClinicaLaravel/vendor/laravel/framework/src/Illuminate/Contracts/Container/Container.php 中找不到接口“Psr\Container\ContainerInterface”

致命错误:在第 8 行的 /opt/lampp/htdocs/nuevodirectorio/ClinicaLaravel/vendor/laravel/framework/src/Illuminate/Contracts/Container/Container.php 中找不到接口“Psr\Container\ContainerInterface”

这里是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
  
   ...
  

【问题讨论】:

这不是导致问题的文件。我建议使用rm composer.lock &amp;&amp; composer install 重新安装所有内容 【参考方案1】:

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

composer clearcache

然后我们删除了供应商文件夹并运行了 composer install,一切正常。我希望这个解决方案对某人有所帮助。

【讨论】:

【参考方案2】:

我遇到了同样的问题。

仍在调查,但到目前为止我发现的是,在运行 composer install --no-dev [...] 时,我在供应商的 vendor/psr/container 中有包 psr/container,但在 vendor/composer/autoload_psr4.php 中缺少 'Psr\\Container\\' =&gt; array($vendorDir . '/psr/container/src'), 行。

暂时,我修复了它,包括开发依赖项,直到我找出真正的修复。

【讨论】:

以上是关于致命错误:未找到接口“Psr\Container\ContainerInterface”的主要内容,如果未能解决你的问题,请参考以下文章

如何纠正棘轮中的[PHP致命错误:未找到接口'Ratchet\MessageComponentInterface']

致命错误:未捕获的错误:未找到“Omnipay\Omnipay”类

SwiftUI 致命错误:未找到“”类型的 ObservableObject

致命错误:未捕获的错误:未找到类“用户名”

mpdf 不工作 [致命错误:未找到特征'Mpdf\Strict']

迁移时未找到 Laravel 致命错误类