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

Bitbucket Pipelines执行composer install时drupal核心补丁应用失败

问题解决步骤
  • 首先安装patch依赖工具
    composer打补丁依赖系统的patch命令,你使用的alpine镜像默认没有预装该工具,修改你的pipeline.yml里的apk安装行,新增patch:
    - /sbin/apk add git patch
    
  • 调整调试命令位置
    你当前把读取目标补丁文件的命令放在了composer install之前,此时drupal/core依赖还未下载,自然找不到对应文件。如果需要调试,将cat docroot/core/modules/language/src/LanguageNegotiator.php这行命令移动到composer install之后执行即可。
  • 排查补丁与依赖版本匹配问题
    你提交的composer.json中配置的补丁是2018年的3007386-language-negotiator-weight-2.patch,但报错日志中显示的是2021年的3007386-language-negotiator-weight-12.patch,说明两种可能:
    1. 你本地更新过补丁配置后只修改了composer.json,没有更新composer.lock,且未将composer.lock提交到代码仓库
    2. 你使用的drupal/core版本和当前补丁适配的版本不一致,补丁仅能应用在对应版本的核心包上,版本不匹配会直接应用失败
  • 确认工作目录
    Bitbucket Pipelines默认会将仓库代码克隆到/opt/atlassian/pipelines/agent/build目录下,你可以在script段最开头增加一行切换目录的命令,确保所有操作都在项目根目录执行,避免相对路径错误:
    - cd /opt/atlassian/pipelines/agent/build
    
  • 额外检查项:确保你项目的composer.json中已经安装了cweagans/composer-patches插件,没有该插件的话composer不会执行补丁应用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:45:03