--unset 只删除配置键,不恢复默认值;删 minimum-stability 会导致包解析失败,删 process-timeout 会失去超时控制,删 repos.packagist 会报“package not found”;需手动补全或编辑 config.json 恢复。

composer config --global --unset 删了配置但行为没变
这不是命令失效,而是 --unset 只删键,不恢复默认值。比如删掉 minimum-stability 后,Composer 不会自动回退到 "stable";删掉 process-timeout 也不会变回 300 秒——它可能继承 shell 的 timeout,甚至无限等待。
常见现象:
-
composer require monolog/monolog报Could not find package,实际是因minimum-stability缺失导致解析失败 -
composer update卡住十几分钟无响应,不是网络慢,是process-timeout被删后失去超时控制 -
repos.packagist被删,报错却是Package not found,看不出源头是源配置没了
验证是否真被删:运行 composer config --global --list | grep repos,空输出即确认已移除。
删错 repos.packagist 怎么快速补救
别重装 Composer,直接编辑配置文件最稳。先用 composer config --global --list --verbose 看第一行路径,通常是 ~/.composer/config.json(Linux/macOS)或 %APPDATA%\Composer\config.json(Windows)。
手动加回标准结构(注意 JSON 格式、双引号、无尾随逗号):
{
"repositories": {
"packagist": {
"type": "composer",
"url": "https://repo.packagist.org/"
}
}
}
保存后立即生效,不用重启终端,也不用跑 dump-autoload。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
如果整个 config.json 文件损坏或丢失,新建一个空文件即可——Composer 2.9.6 会在首次读取时生成最小合法结构。
哪些配置项删了必须手动重设
--unset 对以下字段无效,删后必须立刻补值,否则后续命令大概率异常:
-
minimum-stability:补composer config --global minimum-stability stable -
process-timeout:补composer config --global process-timeout 300 -
secure-http:删了不影响 HTTPS 默认行为(代码层兜底),但若你之前关过它,删后不会自动打开 -
notify-on-install或github-protocols:这类非核心字段删了虽不致命,但某些插件或 CI 流程可能依赖其存在
所有操作前建议先备份:cp ~/.composer/config.json ~/.composer/config.json.bak。
全局配置路径被 $COMPOSER_HOME 接管却没察觉
你以为在改 ~/.composer/config.json,其实 Composer 正在读 ~/.config/composer/config.json(新版 Linux/macOS 默认)或 %APPDATA%\Composer\config.json(Windows)。PowerShell 或 Git Bash 下,$env:APPDATA 若未展开,composer config --global 可能静默写入空目录。
唯一可靠判断方式:composer config --global --list --verbose 输出的第一行就是真实加载路径。
若设置了 $COMPOSER_HOME,它会完全接管路径,且必须是绝对路径——不能含 ~ 或 $HOME,否则配置不生效也不报错。










