答案:设置HOME或COMPOSER_HOME环境变量可解决Composer找不到主目录的问题。具体操作包括临时或永久配置系统环境变量,Windows可通过命令行设置set HOME=%USERPROFILE%或set COMPOSER_HOME=C:\composer,Linux/macOS使用export COMPOSER_HOME="$HOME/.composer",并建议在配置文件中持久化该变量,最后通过composer --version验证是否生效。

出现 "The HOME or COMPOSER_HOME environment variable must be set" 提示,说明 Composer 无法找到用户主目录或 Composer 的配置目录。这个问题通常出现在 CLI 环境中(比如 Windows 命令行、CI/CD 环境或某些服务器配置),系统缺少必要的环境变量。
检查并设置 HOME 或 COMPOSER_HOME 变量
Composer 需要一个地方存储缓存和配置文件,默认会查找 HOME(在 Unix/Linux/macOS)或 USERPROFILE(Windows)环境变量。如果这些变量未设置,就需要手动指定。
你可以选择以下任一方式解决:
-
设置 HOME 变量(推荐)
在命令行中临时设置(以 Windows 为例):
set HOME=%USERPROFILE%
Linux/macOS 一般已设置,若无可用:
export HOME=/home/yourname -
设置 COMPOSER_HOME 变量
指定 Composer 自己的配置目录:
set COMPOSER_HOME=C:\composer
Linux 示例:
export COMPOSER_HOME="$HOME/.composer"
永久配置环境变量(避免每次手动设置)
为避免每次运行都报错,建议将变量写入系统环境。
- Windows:打开“系统属性” → “高级” → “环境变量”,添加名为 COMPOSER_HOME 的变量,值为一个可写的路径,如 C:\Users\YourName\.composer。也可确认 USERPROFILE 是否正确指向你的用户目录。
-
Linux / macOS:在 shell 配置文件(如 ~/.bashrc、~/.zshrc)中添加:
export COMPOSER_HOME="$HOME/.composer"
然后运行 source ~/.bashrc 生效。
验证是否解决
设置完成后,重新打开终端,运行:
composer --version如果能正常显示版本号,说明问题已解决。也可以运行 echo %COMPOSER_HOME%(Windows)或 echo $COMPOSER_HOME(Linux/macOS)确认变量已生效。
基本上就这些。只要确保有一个可写的目录被 Composer 正确识别,就不会再报这个错了。










