Composer global update怎么用 更新全局安装的软件包【维护】
发布时间 - 2026-02-01 00:00:00 点击率:次composer global update 经常不更新是因为它只更新 ~/.composer/composer.json 中明确声明的包,而该文件通常不存在、为空或约束过旧;真正可靠的方式是用 outdated 检查、require 显式重装、并确认 PATH 和 bin 目录生效。
composer global update 为什么经常不更新?
它不是“一键升级所有全局工具”的万能命令——composer global update 只会更新 ~/.composer/composer.json 文件里明确声明的包,而绝大多数人从未手动维护过这个文件。你用 composer global require laravel/installer 装完后,包确实进了 ~/.composer/vendor/,但不会自动写进 composer.json。所以运行 composer global update 后没输出、没日志、没变化,大概率是因为:
• ~/.composer/composer.json 根本不存在
• 或者存在但为空/只含旧约束(比如 "laravel/installer": "^4.0"),根本拉不到 v5.x
• 甚至 composer global status 直接报 No composer.json found
真正靠谱的更新方式:显式重装优于盲等 update
别指望 composer global update 自动兜底。更可控、更常见的做法是针对性重装:
- 先查当前版本:
composer global show laravel/inst或直接运行
aller
laravel --version - 再指定版本重装(推荐):
composer global require laravel/installer:^5.0 --update-with-dependencies - 想更新全部?先生成基础清单:
composer global show --format=json > ~/.composer/composer.json,然后手动编辑该文件,把每个包的版本号改成宽松约束(如"*"或"^5.0"),最后再跑composer global update
检查有没有可更新的包,用 outdated 而不是硬 update
composer global outdated 才是你日常维护的起点。它不改任何东西,只告诉你哪些包落后了:
- 运行
composer global outdated,有输出就说明存在可更新项;无输出 = 当前已是最新的(在约束范围内) - 加
--all参数可深入检查间接依赖:composer global outdated --all - 看到某行显示
laravel/installer 4.4.0 → 5.1.0,说明可以升;若标着(latest: 5.1.0)却没箭头,通常意味着当前约束锁死了版本
PATH 和 bin-dir 是更新后能否用的关键
即使 composer global update 成功执行了,你也可能遇到 command not found——因为新生成的二进制文件不在 $PATH 里。
- 确认 bin 目录是否在路径中:
echo $PATH | grep -o "$HOME/.composer/vendor/bin",无输出就得补 - 补法(加到
~/.zshrc或~/.bashrc):export PATH="$HOME/.composer/vendor/bin:$PATH",然后source ~/.zshrc - 验证实际二进制是否存在:
ls ~/.composer/vendor/bin/,注意有些包生成的命令名 ≠ 包名(例如phpunit/phpunit生成的是phpunit,不是phpunit.phpunit)
composer global update 当成系统升级按钮;它依赖一个你很可能没管过的 composer.json,且不校验 PATH 是否生效、二进制是否可执行。日常维护,outdated 看差距,require 显式装,PATH 验证到底——这三步比死磕 update 更可靠。
# php
# laravel
# js
# json
# composer
# 工具
# 系统升级
# 为什么
# echo
# format
# require
# 重装
# 是因为
# 不存在
# 为空
# 的是
# 日常维护
# 才是
# 你也
# 死了
# 告诉你
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
如何在万网自助建站平台快速创建网站?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel如何创建自定义Facades?(详细步骤)
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
微信小程序制作网站有哪些,微信小程序需要做网站吗?
JS去除重复并统计数量的实现方法
如何快速启动建站代理加盟业务?
怎么用AI帮你设计一套个性化的手机App图标?
高防服务器如何保障网站安全无虞?
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
javascript中闭包概念与用法深入理解
Laravel如何配置和使用缓存?(Redis代码示例)
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何在云指建站中生成FTP站点?
iOS中将个别页面强制横屏其他页面竖屏
制作企业网站建设方案,怎样建设一个公司网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
LinuxCD持续部署教程_自动发布与回滚机制
如何获取PHP WAP自助建站系统源码?
C语言设计一个闪闪的圣诞树
如何生成腾讯云建站专用兑换码?
如何在Windows 2008云服务器安全搭建网站?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
创业网站制作流程,创业网站可靠吗?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
详解阿里云nginx服务器多站点的配置
如何自定义建站之星模板颜色并下载新样式?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
如何在腾讯云服务器快速搭建个人网站?
历史网站制作软件,华为如何找回被删除的网站?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Linux安全能力提升路径_长期防护思维说明【指导】
JavaScript中的标签模板是什么_它如何扩展字符串功能
js实现点击每个li节点,都弹出其文本值及修改
详解Android图表 MPAndroidChart折线图
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
音乐网站服务器如何优化API响应速度?
开心动漫网站制作软件下载,十分开心动画为何停播?
,网页ppt怎么弄成自己的ppt?
详解vue.js组件化开发实践
javascript基本数据类型及类型检测常用方法小结


