当前位置: 首页 > 新闻动态 > 技术教程

Composer global update怎么用 更新全局安装的软件包【维护】

作者:冰火之心 浏览: 发布日期:2026-02-01
[导读]:composerglobalupdate经常不更新是因为它只更新~/.composer/composer.json中明确声明的包,而该文件通常不存在、为空或约束过旧;真正可靠的方式是用outdated检查、require显式重装、并确认PATH和bin目录生效。
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 更可靠。
免责声明:转载请注明出处:http://m.hclxt.cn/news/581180.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!