You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10包适配:Sail启动报Failed to open stream错误求助

解决Laravel Sail启动时自定义包服务提供者存在却提示找不到的问题

针对你遇到的Sail启动时提示Failed to open stream: No such file or directory,但服务提供者文件实际存在的问题,试试下面几个排查和解决步骤:

  • 检查自定义包的composer.json自动加载配置
    打开vendor/bubalubs/gravity/composer.json,确认autoload区块的PSR-4映射是否正确,比如:

    "autoload": {
        "psr-4": {
            "Bubalubs\\Gravity\\": "src/"
        }
    }
    

    同时确认GravityServiceProvider.php文件内的命名空间和类名完全匹配:

    namespace Bubalubs\Gravity;
    
    class GravityServiceProvider extends \Illuminate\Support\ServiceProvider
    {
        // ...
    }
    
  • 验证项目配置里的服务提供者引用
    打开Laravel项目根目录的config/app.php,检查providers数组里的服务提供者是否拼写正确,注意大小写:

    'providers' => ServiceProvider::defaultProviders()->merge([
        // ...
        Bubalubs\Gravity\GravityServiceProvider::class,
    ])->toArray(),
    
  • 重新生成Composer自动加载映射
    执行以下命令强制更新自动加载文件,这能解决很多映射不生效的问题:

    sail composer dump-autoload -o
    
  • 检查容器内的文件状态
    因为Sail运行在Linux容器中,大小写敏感且可能存在本地文件同步问题:

    1. 进入容器确认文件存在:
      sail exec laravel.test ls -la vendor/bubalubs/gravity/src/
      
    2. 若文件存在但权限异常,修复权限:
      sail exec laravel.test chmod -R 755 vendor/bubalubs/gravity/src/
      
    3. 重启Sail并清理容器缓存:
      sail down -v && sail up -d
      
  • 确认包的安装来源
    如果你的自定义包是本地开发的(比如通过composer require本地路径),确认composer.json里的包路径配置正确,没有路径错误导致容器内文件未同步。

内容的提问来源于stack exchange,提问作者theTechnician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 06:02:57