本文目录导读:

是的,Laravel 的依赖通常通过 Composer 来更新。
Laravel 本身及其绝大多数第三方包(包括官方包如 laravel/ui、spatie/laravel-permission、barryvdh/laravel-debugbar 等)都托管在 Packagist 上,而 Composer 是 PHP 生态中管理这些依赖的标准工具,更新 Laravel 项目的依赖几乎总是使用 Composer 命令行完成。
常用的更新命令
-
更新所有依赖(包括 Laravel 框架)
composer update
- 这会根据
composer.json中定义的版本约束,将所有依赖更新到最新允许的版本。 - 同时会生成/更新
composer.lock文件(锁定具体版本)。
- 这会根据
-
更新特定包(例如仅更新 Laravel 框架)
composer update laravel/framework
- 如果你只希望更新
laravel/framework,而不动其他包,可以使用此命令。 - 也可以同时指定多个包:
composer update spatie/laravel-permission barryvdh/laravel-debugbar
- 如果你只希望更新
-
安全更新(仅更新
composer.lock内版本允许的小版本或补丁版本)composer update --lock
- 如果你修改了
composer.json约束,但希望 Composer 根据新的约束重新计算锁定版本,而不升级其他包,此命令有用,但日常更新依赖更推荐直接使用composer update。
- 如果你修改了
重要注意事项
- 永远不要手动修改
vendor/目录:所有依赖都应通过 Composer 命令增删改。 - 查看版本约束:在
composer.json中,Laravel 的版本可能写为^10.0或^11.0,Composer 会基于这些约束决定允许更新到什么版本。 - 更新大型项目前建议备份:特别是
composer.lock文件和数据库(如果有迁移改动),更新依赖(尤其是主版本升级,如 Laravel 10→11)可能涉及不兼容的变更。 - 使用
composer outdated查看可更新的包:在运行update前,建议先运行此命令,了解哪些包可以升级。 - 更新后:建议运行
php artisan optimize或php artisan config:cache(生产环境)来刷新缓存。
特殊情况
- Laravel 本身的新版本发布(如从 10.x 到 11.x):你需要手动修改
composer.json中的"require"部分(如将"laravel/framework": "^10.0"改为"^11.0"),然后运行composer update。 - 如果你使用 Laravel Sail(Docker 环境):需要在容器内运行 Composer 命令(
sail composer update)或在主机运行(如果已配置全局 Composer)。
是的,更新 Laravel 依赖必须用 Composer,核心命令是 composer update,用法简单但需注意约束和备份。