You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在DDEV中降级Composer 2.x至1.x失败的问题求助

解决DDEV v1.21.3无法切换到Composer 1.x的问题

问题分析

DDEV 1.18+版本调整了Composer的部署逻辑,默认容器内置Composer 2.x,若项目配置未被正确加载、存在容器缓存,或全局配置覆盖了项目设置,会导致无法切换到Composer 1.x。

解决方案

1. 确认项目配置有效性

打开项目根目录下的.ddev/config.yml,确保存在以下配置且未被注释:

composer_version: "1"

保存后执行:

ddev restart

2. 清理DDEV缓存与旧容器

彻底清理项目相关的容器和镜像,避免缓存残留:

# 停止所有DDEV服务
ddev poweroff
# 删除项目相关容器
docker rm -f $(docker ps -aq -f name=ddev-<你的项目名>)
# 删除项目专属web镜像
docker rmi -f $(docker images -q -f reference=ddev-webserver-<你的项目名>:*)
# 重新启动项目
ddev start

3. 容器内手动安装Composer 1.x

若上述方法无效,直接进入容器手动指定版本安装:

# 进入项目容器
ddev exec
# 下载Composer 1.x安装脚本并验证
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# 安装指定版本的Composer 1.x(这里用1.10.26,可替换为其他1.x版本)
php composer-setup.php --version=1.10.26
# 清理安装脚本并移动到全局路径
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
# 退出容器
exit
# 验证版本
ddev exec composer --version

4. 检查全局配置是否覆盖

查看DDEV全局配置文件~/.ddev/global_config.yaml,若存在composer_version配置项,确保其未强制设置为2.x,否则会覆盖项目级配置。

内容的提问来源于stack exchange,提问作者macbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:20:43