COMPOSER_HOME 必须设为绝对路径,不可含 ~ 或 $HOME;设错将导致全局配置失效、global require 命令找不到、self-update 报错、autoload 失效;需用完整路径并重启终端验证。

COMPOSER_HOME 必须是绝对路径,不能含 ~ 或 $HOME
设错 COMPOSER_HOME 是全局配置失效最常见原因。它不是“建议路径”,而是 Composer 完全接管配置、缓存、全局 bin 目录的根位置。一旦设为 ~/.composer 或 $HOME/.composer,Composer 会静默失败:global require 的命令找不到,composer self-update 报错,autoload 也不生效。
正确做法是用完整绝对路径:
- Linux/macOS:
/home/yourname/.composer(别用~) - Windows CMD:
C:\Users\YourName\AppData\Roaming\Composer(别用%APPDATA%\Composer) - Windows Git Bash:
/c/Users/YourName/AppData/Roaming/Composer(注意斜杠方向)
设完必须新开终端,否则 shell 还在读旧环境变量。验证方式:composer config --list --global,第一行 “Global configuration file” 显示的路径必须和你设的一致。
Linux/macOS 下写入 ~/.bashrc 或 ~/.zshrc 的陷阱
很多人把 export COMPOSER_HOME=... 加进 ~/.bashrc,结果只在 bash 里生效,zsh 用户新开终端就失效;或者加了但没 source ~/.zshrc,改了等于白改。
更稳妥的做法是:
- 先确认当前 shell:
echo $SHELL,再决定改哪个文件(~/.zshrc或~/.bash_profile) - 在文件末尾加两行:
export COMPOSER_HOME="/home/yourname/.composer"export PATH="$COMPOSER_HOME/vendor/bin:$PATH" - 执行
source ~/.zshrc(或对应文件),再开新终端验证echo $COMPOSER_HOME和echo $PATH
注意:vendor/bin 路径必须跟 COMPOSER_HOME 一致——如果 COMPOSER_HOME 指向 /opt/composer,那 PATH 就得是 $COMPOSER_HOME/vendor/bin,不能硬写成 ~/.composer/vendor/bin。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
Windows 用户要分清系统级 vs 用户级变量
Windows 的环境变量有“系统变量”和“用户变量”两套,Composer 默认读用户级的 %APPDATA%\Composer,但如果你在“系统变量”里设了 COMPOSER_HOME,而值又指向一个不存在的目录,就会彻底卡死。
操作前务必:
- 打开“系统属性 → 高级 → 环境变量”,检查
COMPOSER_HOME是否同时出现在两个区域;如有,删掉系统级那个 - 在用户变量里新建
COMPOSER_HOME,值填完整路径,如:C:\Users\YourName\AppData\Roaming\Composer - 同样在用户变量里编辑
Path,新增一行:%APPDATA%\Composer\vendor\bin - 关掉所有命令行窗口,重新打开 cmd 或 PowerShell,运行
echo %COMPOSER_HOME%和composer global list验证
Git Bash 用户额外注意:%COMPOSER_HOME% 在 Bash 里不自动展开,必须用 $COMPOSER_HOME,且大小写敏感——设成 composer_home 就无效。
让 composer 命令本身也全局可用,别只靠 PATH
很多人以为只要配好 COMPOSER_HOME 和 vendor/bin 的 PATH,就能敲 composer ——其实这是两件事。composer 命令本身得先能在任意目录执行,它和 Composer 的全局行为无关。
推荐方案是把 composer.phar 放进系统级 bin 目录:
- Linux/macOS:
sudo mv composer.phar /usr/local/bin/composer && sudo chmod +x /usr/local/bin/composer - Windows:
copy composer.phar C:\Windows\composer.bat(内容为@php "%~dp0composer.phar" %*),再把C:\Windows加进 PATH
这样做的好处是:不依赖用户 shell 配置,IDE 内置终端、CI runner、Docker 容器都能直接用 composer,避免因 shell 启动方式不同导致 PATH 未加载的问题。

















