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

查全局包不能用 composer show,必须用 composer global show——它不依赖当前目录,也不读项目里的 composer.json 或 vendor/,直接读取全局配置路径下的安装记录。
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,输全名,大小写敏感显示已安装 ≠ 终端能直接调用。最常卡在这一步:
composer config --global home 返回的是全局 Composer 根路径,真实可执行文件在 [home]/vendor/bin/ 下PATH 中:echo $PATH(Linux/macOS)或 echo %PATH%(Windows)%APPDATA%\Composer\Vendor\bin 是完整路径,环境变量里必须填对,不能少 \Vendor\binls [home]/vendor/bin/(Linux/macOS)或 dir %APPDATA%\Composer\Vendor\bin(Windows),看对应可执行文件是否存在composer global show 不校验实际文件是否存在,它只读 installed.json。如果你手动删过 ~/.composer/vendor/ 下的某个包但没清理 installed.json,它仍会显示“已安装”。真要验证,得去 [home]/vendor/ 下 ls 或 dir 看目录是否还在。另外,--direct 参数只过滤掉自动拉进来的依赖,不影响包本身是否可用——它只是告诉你这个包是不是你亲手 composer global require 过的。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8