商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Composer如何查看全局已安装的包_Composer全局包管理查看步骤【入门】

Composer如何查看全局已安装的包_Composer全局包管理查看步骤【入门】

  发布于2026-07-10 阅读(0)

扫一扫,手机访问

很多人在使用 Composer 时,都踩过同一个坑:明明全局装好了某个工具包,终端却提示“命令找不到”,一查 composer show 列表还空荡荡的。其实问题不出在包本身,而是命令用错了——查全局包,必须用 composer global show,别拿项目里的命令去套。

Composer如何查看全局已安装的包_Composer全局包管理查看步骤【入门】

查全局包不能用 composer show,必须用 composer global show——它不依赖当前目录,也不读项目里的 composer.jsonvendor/,直接读取全局配置路径下的安装记录。

为什么 composer show 查不到全局包

不少人在项目目录下执行 composer show lara vel/installer,结果报 Package not found。不是包没装,是命令根本没查对地方。composer show 只扫当前项目的 vendor/composer/installed.json,而全局包装在 ~/.composer/vendor/(Linux/macOS)或 %APPDATA%\Composer\Vendor\(Windows)里,两者完全隔离。

常见的误判场景:

  • 终端提示 Command "lara vel" not found,但 composer show lara vel/installer 也查不到——可能你装了全局包,但没加进 PATH,或者误用了项目目录下的命令
  • /tmp 之类的临时目录下运行 composer show,输出为空——因为没找到项目 composer.json,它不会自动 fallback 到全局

composer global show 的实用参数组合

默认输出带描述、版本、缩进依赖树,信息量不小。但日常真正需要的,往往是干净、可筛选、甚至能直接扔给脚本处理的结果:

  • 只看包名列表:composer global show --name-only,适合快速扫一眼装了哪些工具
  • 只看「包名 + 版本」两列:composer global show --name --version,空格分隔,方便 | grep phpunit 或写入 CI 脚本
  • 导出表格格式:composer global show --format=table,对齐清晰,适合人工核对
  • 确认某个包是否真的装了:composer global show php-cs-fixer,输全名,大小写敏感

查到包名后,怎么确认命令能用

显示已安装 ≠ 终端能直接调用。最常卡在这一步:

  • 先定位全局 bin 目录:composer config --global home 返回的是全局 Composer 根路径,真实可执行文件在 [home]/vendor/bin/
  • 检查该路径是否在 PATH 中:echo $PATH(Linux/macOS)或 echo %PATH%(Windows)
  • Windows 用户要特别注意:%APPDATA%\Composer\Vendor\bin 是完整路径,环境变量里必须填对,不能少 \Vendor\bin
  • 如果 PATH 没问题但命令仍找不到,试试 ls [home]/vendor/bin/(Linux/macOS)或 dir %APPDATA%\Composer\Vendor\bin(Windows),看对应可执行文件是否存在

容易被忽略的关键点

composer global show 不校验实际文件是否存在,它只读 installed.json。如果你手动删过 ~/.composer/vendor/ 下的某个包但没清理 installed.json,它仍会显示“已安装”。真要验证,得去 [home]/vendor/lsdir 看目录是否还在。另外,--direct 参数只过滤掉自动拉进来的依赖,不影响包本身是否可用——它只是告诉你这个包是不是你亲手 composer global require 过的。

本文转载于:https://www.php.cn/faq/2398374.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注