<p>必须手动安装官方 Composer PHAR 并配置国内镜像源:apt 版本陈旧(2.2.x),不支持 PHP 8.3+ 和 repo.packagist,应执行 curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer,再运行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 并清缓存。</p>

树莓派上装 Composer 本身就得手动编译
树莓派默认没预装 Composer,apt install composer 装的是老旧的 2.2.x 版本(截至 2026 年),不支持 repo.packagist 配置项,也不兼容 PHP 8.3+ 的某些依赖解析逻辑。必须用官方安装脚本:
先确保有 curl 和 php-cli:sudo apt update && sudo apt install -y curl php-cli git unzip
再执行:curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
验证:composer --version 应输出 Composer version 2.9.6 或更高。
全局镜像配置在树莓派上容易因用户权限失效
树莓派常用 pi 用户执行命令,但很多自动化任务(如 systemd service、crontab)默认以 root 或其他用户运行。全局配置只对写入配置的用户生效:
- 运行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 是给当前用户(比如 pi)配的
- 若 cron 里跑 composer install,得确认它用的是哪个用户:查日志或加 whoami 输出
- 正确做法是:用对应用户执行配置,例如:sudo -u pi composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/sudo -u root composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
别指望 sudo composer config -g 写进 root 配置后,pi 用户自动继承——Composer 不共享跨用户配置。
树莓派 ARM 架构下镜像源必须带尾斜杠且用 HTTPS
ARM 版 PHP 对 URL 解析更敏感,漏掉末尾 / 或用 HTTP 会直接报错或静默 fallback 到 packagist.org:
- 错误写法:https://mirrors.aliyun.com/composer(缺 /)→ 请求变成 /composerpackages.json → 404
- 错误写法:http://mirrors.ustc.edu.cn/composer/(HTTP)→ Composer 2.5+ 默认拒绝,报 Connection refused 或卡在 TLS 握手
- 正确写法只有:https://mirrors.aliyun.com/composer/、https://mirrors.tuna.tsinghua.edu.cn/composer/、https://mirrors.ustc.edu.cn/composer/
验证是否生效:composer config -g repo.packagist 必须输出完整 JSON 对象,例如:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"};如果返回空、null 或 https://packagist.org,说明根本没写进去。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
项目级配置比全局更适合树莓派部署场景
树莓派常用于 IoT 或边缘服务,一个设备跑多个 PHP 项目(如 Home Assistant 插件 + 自研 API),全局镜像反而容易冲突:
- 某个项目强制要求走官方源做安全审计(比如 "packagist.org": false 在 composer.json 里)
- CI/CD 流水线打包时用 Docker,容器内用户和宿主机不一致
- 更稳妥的做法:进每个项目根目录,运行:composer config repo.packagist composer https://mirrors.aliyun.com/composer/(注意去掉 -g)
这条命令会往 composer.json 顶层写 "repositories" 字段,key 固定为 "packagist",且不会覆盖已有私有源(前提是原 repositories 是对象结构)
- 如果项目已有 "repositories": [] 数组,别手动编辑,改用命令追加,否则可能删掉内部私有包地址。
实际使用中,最容易被忽略的是:树莓派首次运行 composer install 前,必须清缓存(composer clear-cache),否则旧的 packagist.org 元数据还在本地,即使镜像已生效,也会卡在 “Loading composer repositories” 几分钟不动。

















