laravel - 无法更新 Laravel 8.48.0 以上版本
问题描述
Composer Update 一直在完美地更新 Laravel 和我的依赖项,直到我尝试更新到 8.49.0。当我现在运行 composer update 时,我得到:
witt@Witts-MPB ag % composer update
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 23 updates, 0 removals
- Upgrading facade/ignition (2.10.2 => 2.11.0)
- Upgrading fakerphp/faker (v1.14.1 => v1.15.0)
- Upgrading filp/whoops (2.13.0 => 2.14.0)
- Upgrading guzzlehttp/psr7 (1.8.2 => 2.0.0)
- Downgrading intervention/image (2.5.1 => 2.2.2)
- Upgrading laminas/laminas-escaper (2.7.0 => 2.8.0)
- Upgrading laminas/laminas-zendframework-bridge (1.2.0 => 1.3.0)
- Upgrading laravel/framework (v8.48.0 => v8.50.0)
- Upgrading league/commonmark (1.6.4 => 1.6.5)
- Upgrading league/flysystem (1.1.3 => 1.1.4)
- Upgrading monolog/monolog (2.2.0 => 2.3.0)
- Upgrading myclabs/php-enum (1.8.0 => 1.8.3)
- Upgrading nesbot/carbon (2.49.0 => 2.50.0)
- Upgrading nikic/php-parser (v4.10.5 => v4.11.0)
- Upgrading phpunit/phpunit (9.5.5 => 9.5.6)
- Upgrading spatie/dropbox-api (1.19.0 => 1.19.1)
- Upgrading stripe/stripe-php (v7.85.0 => v7.88.0)
- Upgrading symfony/error-handler (v5.3.0 => v5.3.3)
- Upgrading symfony/http-foundation (v5.3.2 => v5.3.3)
- Upgrading symfony/http-kernel (v5.3.2 => v5.3.3)
- Upgrading symfony/string (v5.3.2 => v5.3.3)
- Upgrading symfony/translation (v5.3.2 => v5.3.3)
- Upgrading symfony/var-dumper (v5.3.2 => v5.3.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 23 updates, 0 removals
- Downloading laravel/framework (v8.50.0)
- Downloading facade/ignition (2.11.0)
- Downloading stripe/stripe-php (v7.88.0)
- Downloading filp/whoops (2.14.0)
- Upgrading symfony/var-dumper (v5.3.2 => v5.3.3): Extracting archive
- Upgrading symfony/string (v5.3.2 => v5.3.3): Extracting archive
- Upgrading monolog/monolog (2.2.0 => 2.3.0): Extracting archive
- Upgrading symfony/http-foundation (v5.3.2 => v5.3.3): Extracting archive
- Upgrading symfony/error-handler (v5.3.0 => v5.3.3): Extracting archive
- Upgrading symfony/http-kernel (v5.3.2 => v5.3.3): Extracting archive
- Upgrading symfony/translation (v5.3.2 => v5.3.3): Extracting archive
- Upgrading nesbot/carbon (2.49.0 => 2.50.0): Extracting archive
- Upgrading league/flysystem (1.1.3 => 1.1.4): Extracting archive
- Upgrading league/commonmark (1.6.4 => 1.6.5): Extracting archive
- Upgrading laravel/framework (v8.48.0 => v8.50.0): Extracting archive
- Upgrading facade/ignition (2.10.2 => 2.11.0): Extracting archive
- Upgrading fakerphp/faker (v1.14.1 => v1.15.0): Extracting archive
- Upgrading guzzlehttp/psr7 (1.8.2 => 2.0.0): Extracting archive
- Upgrading laminas/laminas-zendframework-bridge (1.2.0 => 1.3.0): Extracting archive
- Upgrading stripe/stripe-php (v7.85.0 => v7.88.0): Extracting archive
- Upgrading nikic/php-parser (v4.10.5 => v4.11.0): Extracting archive
- Upgrading myclabs/php-enum (1.8.0 => 1.8.3): Extracting archive
- Upgrading filp/whoops (2.13.0 => 2.14.0): Extracting archive
- Upgrading laminas/laminas-escaper (2.7.0 => 2.8.0): Extracting archive
- Upgrading phpunit/phpunit (9.5.5 => 9.5.6): Extracting archive
- Upgrading spatie/dropbox-api (1.19.0 => 1.19.1): Extracting archive
- Downgrading intervention/image (2.5.1 => 2.2.2): Extracting archive
Generating optimized autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Error
Call to undefined method Illuminate\Foundation\Application::share()
at vendor/intervention/image/src/Intervention/Image/ImageServiceProviderLaravel5.php:51
47▕ 'image'
48▕ );
49▕
50▕ // create image
➜ 51▕ $app['image'] = $app->share(function ($app) {
52▕ return new ImageManager($app['config']->get('image'));
53▕ });
54▕
55▕ $app->alias('image', 'Intervention\Image\ImageManager');
+8 vendor frames
9 artisan:35
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
我注意到的第一件事是干预/图像包正在降级(见上面的输出)。
我尝试直接修改 composer.lock 以将该包保持在 2.5.1 版本,但这并没有解决错误。
我正在运行 PHP 7.4 版。
有没有其他人遇到过这个问题?关于如何解决它的任何建议?
解决方案
这个问题是因为 Laravel 8.49.0 将 guzzlehttp 从 1.8.2 更新到 2.0.0,并且干预/图像与该版本不兼容。
有一个干预/图像补丁来解决这个问题,在这个线程中提到。
但是,该补丁目前位于开发分支上。
要解决这个问题:
运行作曲家更新,收到上述错误
修改composer.json,添加:
“最低稳定性”:“开发”,
“首选稳定”:真
如有必要,这允许包处于开发稳定性级别。
- 运行作曲家需要干预/图像:“master”
推荐阅读
- algorithm - 用最小的移动距离在圆圈中画出最大的区域
- angular - Firepad 和 Codemirror 的 Angular 示例代码
- c# - 如何清除 ChromeDriver 中的所有 cookie
- javascript - DataTable row() 始终未定义,无法获取数据
- java - AES - Java 中的加密和 PHP 中的解密
- javascript - 如何从 AJAX 请求执行 Python 代码?
- unity3d - Lerp 到目标位置,但仅在半径范围内
- hyperledger-explorer - 通道发现中的 Hyperledger Explorer 错误
- opencv - cv 在 Xcode C++ 中使用未声明的标识符
- angular - 如何更改 Angular CLI 用于生成测试的根目录?