Laravel10/Livewire3环境下无法安装husam-tariq/filament-database-schedule的问题
问题:Laravel 10 / Livewire 3 安装 husam-tariq/filament-database-schedule 失败
问题描述
我在基于 Laravel 10 / Livewire 3 的项目中尝试安装 husam-tariq/filament-database-schedule 包,执行命令后出现依赖冲突错误:
$ composer require "husam-tariq/filament-database-schedule:*" -W Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Symfony/Component/Console/Command/DumpCompletionCommand.php:48 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Symfony/Component/Console/Command/DumpCompletionCommand.php:56 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/Autoload/AutoloadGenerator.php:879 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/Autoload/AutoloadGenerator.php:884 ./composer.json has been updated Running composer update husam-tariq/filament-database-schedule --with-all-dependencies Loading composer repositories with package information Updating dependencies Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/DependencyResolver/Problem.php:366 Your requirements could not be resolved to an installable set of packages. Problem 1 - husam-tariq/filament-database-schedule[dev-main, v1.0.0, ..., v1.0.2] require awcodes/filament-table-repeater ^1.2 -> found awcodes/filament-table-repeater[v1.2.0, ..., 1.x-dev] but it conflicts with your root composer.json require (^3.0.4). - husam-tariq/filament-database-schedule[dev-dependabot/github_actions/dependabot/fetch-metadata-2.2.0, dev-tenancy, v2.0.0, ..., v2.0.3] require awcodes/filament-table-repeater ^2.0.4 -> found awcodes/filament-table-repeater[v2.0.4, ..., 2.x-dev] but it conflicts with your root composer.json require (^3.0.4). - Root composer.json requires husam-tariq/filament-database-schedule * -> satisfiable by husam-tariq/filament-database-schedule[dev-dependabot/github_actions/dependabot/fetch-metadata-2.2.0, dev-main, dev-tenancy, v1.0.0, v1.0.1, v1.0.2, v2.0.0, ..., v2.0.3, 9999999-dev].
安装失败后,composer自动恢复了./composer.json和./composer.lock的原始状态。
我的项目composer.json内容如下:
{ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "php": "^8.2", "akaunting/laravel-money": "^5.2.0", "awcodes/filament-table-repeater": "^3.0.4", "barryvdh/laravel-dompdf": "^2.2.0", "bensampo/laravel-enum": "^6.11.0", "bezhansalleh/filament-exceptions": "^2.1.1", "botman/botman": "^2.8.3", "botman/driver-web": "^1.5.3", "codewithdennis/filament-select-tree": "^3.1.41", "filament/filament": "^3.2-stable", "filament/spatie-laravel-media-library-plugin": "^3.2.92", "filament/widgets": "^3.2-stable", "guzzlehttp/guzzle": "^7.8.1", "hasnayeen/themes": "^3.0.23", "igaster/laravel_cities": "^1.3.12", "jeffgreco13/filament-breezy": "v2.2.1.1", "joaopaulolndev/filament-edit-profile": "^1.0.20", "joshembling/image-optimizer": "^1.4.1", "lara-zeus/popover": "^1.1.5", "laravel-notification-channels/telegram": "^4.0.0", "laravel/framework": "^10.48.14", "laravel/pennant": "^1.8.2", "laravel/sanctum": "^3.3.3", "laravel/slack-notification-channel": "^2.5", "laravel/telescope": "^4.17.6", "laravel/tinker": "^2.9.0", "leandrocfe/filament-apex-charts": "^3.1.3", "livewire/livewire": "^3.5.1", "maatwebsite/excel": "^3.1.55", "mews/purifier": "^3.4.2", "omar-haris/filament-timezone-field": "^1.0.3", "orangehill/iseed": "^3.0.4", "petercoles/multilingual-country-list": "^1.2.12", "phpoffice/phpword": "^1.2", "predis/predis": "^2.2.2", "pxlrbt/filament-environment-indicator": "^2.0.1", "saade/filament-adjacency-list": "^3.2.1", "saade/filament-fullcalendar": "^3.2.2", "spatie/emoji": "^4.1.1", "spatie/geocoder": "^3.16", "spatie/laravel-activitylog": "^4.8", "spatie/laravel-login-link": "^1.2", "spatie/laravel-medialibrary": "^10.15.0", "spatie/laravel-permission": "^5.11.1", "spatie/laravel-translatable": "^6.7.1", "staudenmeir/laravel-adjacency-list": "^1.20.1", "stichoza/google-translate-php": "^5.1.3", "symfony/process": "^6.4.8", "vimeo/laravel": "^5.9", "wisdom-diala/countrypkg-laravel": "^1.0.7" }, "require-dev": { "barryvdh/laravel-ide-helper": "^v2.15.1", "beyondcode/laravel-er-diagram-generator": "^2.0", "fakerphp/faker": "^1.23.1", "laravel/breeze": "^1.29.1", "laravel/pint": "^1.16.1", "laravel/sail": "^1.30.2", "mockery/mockery": "^1.6.12", "nonsapiens/realaddressfactory": "^2.0.2", "nunomaduro/collision": "^6.4.0", "nunomaduro/larastan": "^2.9.7", "phpunit/phpunit": "^9.6.19", "spatie/laravel-ignition": "^2.8" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "files": [ "app/Library/helper.php" ], "psr-4": { "Tests\\": "tests/" } }, "scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi", "@php artisan filament:upgrade" ], "post-update-cmd": [ "@php artisan vendor:publish --tag=laravel-assets --ansi --force" ], "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] }, "extra": { "laravel": { "dont-discover": [] } }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, "allow-plugins": { "pestphp/pest-plugin": true, "php-http/discovery": true } }, "minimum-stability": "dev", "prefer-stable": true }
我还尝试了直接执行composer require husam-tariq/filament-database-schedule,同样失败:
$ composer require husam-tariq/filament-database-schedule Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Symfony/Component/Console/Command/DumpCompletionCommand.php:48 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Symfony/Component/Console/Command/DumpCompletionCommand.php:56 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/Autoload/AutoloadGenerator.php:879 Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/Autoload/AutoloadGenerator.php:884 Using version ^2.0 for husam-tariq/filament-database-schedule ./composer.json has been updated Running composer update husam-tariq/filament-database-schedule Loading composer repositories with package information Updating dependencies Deprecation Notice: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/Composer/DependencyResolver/Problem.php:366 Your requirements could not be resolved to an installable set of packages. Problem 1 - husam-tariq/filament-database-schedule[v2.0.0, ..., v2.0.3] require awcodes/filament-table-repeater ^2.0.4 -> found awcodes/filament-table-repeater[v2.0.4, ..., 2.x-dev] but it conflicts with your root composer.json require (^3.0.4). - Root composer.json requires husam-tariq/filament-database-schedule ^2.0 -> satisfiable by husam-tariq/filament-database-schedule[v2.0.0, ..., v2.0.3]. You can also try re-running composer require with an explicit version constraint, e.g. "composer require husam-tariq/filament-database-schedule:*" to figure out if any version is installable, or "composer require husam-tariq/filament-database-schedule:^2.1" if you know which you need. Installation failed, reverting ./composer.json to its original content.
请问该包是否兼容Laravel 10 / Livewire 3?若兼容,我需要执行哪些步骤才能完成安装?
解答
兼容性说明
husam-tariq/filament-database-schedule 的v2.x版本兼容Laravel 10和Livewire 3,安装失败的核心原因是依赖版本冲突:你的项目已安装awcodes/filament-table-repeater v3.x,但该包所有已发布版本仅支持v1.x或v2.x的filament-table-repeater。
解决步骤
你有两种可行方案:
方案1:降级awcodes/filament-table-repeater到v2.x
如果项目中没有依赖filament-table-repeater v3.x的专属功能,可执行以下命令降级并安装目标包:
composer require husam-tariq/filament-database-schedule awcodes/filament-table-repeater:^2.0.4 -W
-W参数允许composer更新所有相关依赖以解决冲突
方案2:安装包的开发分支(注意风险)
若该包仓库存在支持filament-table-repeater v3.x的开发分支(如dev-main),可尝试安装开发版本:
composer require husam-tariq/filament-database-schedule:dev-main -W
注意:开发分支可能存在不稳定因素,建议先在测试环境验证后再部署到生产环境。
安装成功后的后续操作
- 运行数据库迁移:
php artisan migrate
- 发布包的配置文件(可选):
php artisan vendor:publish --tag=filament-database-schedule-config
- 按照包的文档注册Filament插件,完成集成。
内容的提问来源于stack exchange,提问作者Petro Gromovo
相关产品推荐
相关产品推荐

