首页 > 解决方案 > 如何解决 PHP 致命错误:未捕获的错误:在 laravel 版本更新时调用未定义的方法 Illuminate\Container\Container::basePath() 错误?

问题描述

我正在尝试将 laravel 版本从 5.3 更新到 5.4,但是当我运行composer update命令时出现此错误

PHP Fatal error:  Uncaught Error: Call to undefined method Illuminate\Container\Container::basePath() in /my-project/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:179
Stack trace:
#0 /my-project/vendor/carbonate/environmentconfig/src/EnvironmentConfig.php(49): base_path()
#1 /my-project/bootstrap/app.php(16): Carbonate\EnvironmentConfig\EnvironmentConfig::get()
#2 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(289): Application->storagePath()
#3 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(271): Illuminate\Foundation\Application->bindPathsInContainer()
#4 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(147): Illuminate\Foundation\Application->setBasePath()
#5 /my-project/bootstrap/app.php(21): Illuminate\Foundation\Application->__construct()

我按照本指南进行更新:https ://laravel.com/docs/5.4/upgrade

我也尝试删除供应商文件夹和 composer.lock 文件并运行命令composer install,但我得到了同样的错误。

您的帮助将不胜感激

标签: phplaravelversion

解决方案


安装程序不会生成 .env,很可能是由于缺少文件而未设置 APP_KEY,PHPUnit 会抛出此异常。

试试这些命令:

composer run-script post-root-package-install
php artisan key:generate

推荐阅读