COMPOSER_HOME必须设为绝对英文路径,否则global命令静默失效;PATH须包含$COMPOSER_HOME/vendor/bin,且配置后必须新开终端验证;COMPOSER_CACHE_DIR设错会导致update重下包,不可写时退至内存缓存。

COMPOSER_HOME 必须设成绝对路径,否则 global 命令静默失效
Composer 不会报错,但只要你设的 COMPOSER_HOME 含 ~、$HOME、%USERPROFILE% 或中文路径,它就自动退回到默认位置($HOME/.composer 或 %APPDATA%\Composer),你装的 laravel、think 全部进错目录。
- Linux/macOS 正确写法:
export COMPOSER_HOME="/home/yourname/.my-composer"(不能用~/my-composer) - Windows 正确写法:
setx COMPOSER_HOME "C:\Users\YourName\AppData\Roaming\Composer"(引号内不能有空格,也不能用C:\用户\) - 设完必须新开终端——
source ~/.zshrc不管用,子进程不继承父 shell 的环境变量 - 验证方式:
composer config --list --global,看 “Global configuration file” 行是否匹配你设的路径
PATH 必须包含 $COMPOSER_HOME/vendor/bin,否则命令找不到
Composer 从不自动把全局 bin 目录加进 PATH。它只负责把 laravel、think 这类可执行文件放进 $COMPOSER_HOME/vendor/bin,剩下的全靠你自己配。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- Linux/macOS:在
~/.zshrc末尾加export PATH="$COMPOSER_HOME/vendor/bin:$PATH"(顺序很重要,放前面防系统同名命令覆盖) - Windows:把
%COMPOSER_HOME%\vendor\bin加进「系统属性 → 高级 → 环境变量 → 用户变量 → Path」(不是%APPDATA%\Composer\vendor\bin,除非你根本没设COMPOSER_HOME) - 加完必须新开终端,再运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows)确认路径存在 - 最后用
which laravel(macOS/Linux)或where think(Windows)确认指向的是vendor/bin下的文件
COMPOSER_CACHE_DIR 设错会导致每次 update 都重下包
这个变量控制下载包、解压、installer 缓存的位置。它不只影响首次安装速度,更关键的是决定 composer update 能否跳过重复下载——设错就等于每次都从零开始。
- 可独立于
COMPOSER_HOME设置,比如 SSD 分区加速:export COMPOSER_CACHE_DIR="/mnt/ssd/composer-cache" - 如果设为不可写路径,会出现
Failed to create cache directory: Permission denied,此时 Composer 会退回到内存缓存(极慢)或跳过缓存 - Docker 构建中常见错误:把
COMPOSER_CACHE_DIR指向/tmp/composer-cache,而该路径在容器重启后丢失,缓存失效
Windows 下别信 composer.phar,优先用 composer.bat
直接运行 php composer.phar 容易卡住或报错,常见原因包括 PHP CLI 版本不一致、ext-zip 未启用、或找不到 php.ini。
- 官方安装包自带的
composer.bat会自动探测可用 PHP 并设置必要环境变量 - 手动下载
composer.phar时,建议在同一目录建composer.bat:@echo off php "%~dp0composer.phar" %* - 确保这个
.bat文件所在目录已加入 PATH,而不是只加了composer.phar的路径 - 多个 PHP 共存时,用
where php查路径顺序,把想用的 PHP 目录移到 PATH 最前面,或在.bat中硬编码路径,如:C:\php82\php.exe "%~dp0composer.phar" %*
echo $PATH 输出里。这两步漏掉,配置就等于白做。

















