Mac环境下Lando执行composer install频繁报错的解决咨询
解决Mac下Lando执行
lando composer install时的Drupal包安装失败问题 以下是针对你遇到的Install of vendor/package failed、文件名冲突及无法删除临时目录问题的具体解决步骤:
1. 清理Composer缓存与本地依赖文件
- 进入Lando容器执行缓存清理:
lando composer clear-cache - 删除本地项目的
vendor目录和composer.lock文件,避免旧依赖残留:rm -rf vendor composer.lock - 重新执行安装命令:
lando composer install
2. 解决Mac文件系统大小写敏感问题
Mac默认APFS分区不区分大小写,而Lando容器内是Linux系统(大小写敏感),这会导致Drupal包内的文件名(如icons下的大小写差异文件)在解压时出现冲突:
- 打开「磁盘工具」→ 点击「新建映像」
- 设置名称、存储路径,格式选择APFS(大小写敏感,加密),大小按需设置(建议20GB以上)
- 挂载新建的磁盘镜像,将项目目录迁移至镜像内
- 重新启动Lando项目并执行安装命令
3. 匹配Lando容器与本地用户权限
容器内用户UID/GID与本地Mac用户不匹配时,会导致文件删除/修改权限异常:
- 修改项目根目录的
.lando.yml配置文件,添加用户匹配规则:services: appserver: overrides: user: "${LANDO_HOST_UID}:${LANDO_HOST_GID}" - 重建Lando容器使配置生效:
lando rebuild -y - 再次执行
lando composer install
4. 手动清理报错的Composer临时目录
- 进入Lando容器:
lando ssh - 强制删除报错的临时目录:
rm -rf /app/vendor/composer/aa54b6df/drupal-core-23b4d51 - 退出容器后重新执行安装命令
5. 更新Composer版本
旧版Composer可能存在解压或文件处理的bug,更新至最新版本:
lando composer self-update
6. 调整Composer安装策略
尝试使用不同的依赖获取方式规避文件冲突:
- 优先下载压缩包(减少源码文件大小写冲突):
lando composer install --prefer-dist - 或从Git克隆源码:
lando composer install --prefer-source
内容的提问来源于stack exchange,提问作者Tolga Ozses
相关产品推荐
相关产品推荐

