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

AWS Ubuntu构建项目报错:Composer依赖ext-sodium缺失

解决AWS CodeBuild Ubuntu 5.0环境下ext-sodium缺失导致Composer依赖失败的问题

问题根源

Ubuntu standard:5.0(基于Ubuntu 22.04)的默认PHP环境未预装ext-sodium扩展,而lcobucci/jwt 4.1.5、league/oauth2-server 8.3.3等依赖明确要求该扩展,导致composer install校验依赖时直接失败。

解决方案

修改你的buildspec.yml,在install阶段提前安装PHP sodium扩展,确保Composer执行前扩展已加载完成。

修改后的buildspec示例

version: 0.2
phases:
  install:
    runtime-versions:
      php: 8.1 # 根据项目实际PHP版本调整,Ubuntu 5.0支持8.1/8.2
    commands:
      - apt-get update -y
      - apt-get install -y php-sodium # 安装ext-sodium扩展
      - php -m | grep sodium # 可选:验证扩展是否成功加载
      - composer install --no-interaction --optimize-autoloader
  # 保留原有的build、post_build等阶段配置

关键说明

  • PHP版本适配:如果项目使用PHP 8.2,只需将runtime-versions中的php版本改为8.2,php-sodium包会自动匹配当前激活的PHP版本。
  • 权限无需担忧:CodeBuild环境默认以root用户执行命令,无需添加sudo前缀。
  • 验证步骤:添加php -m | grep sodium可以快速确认扩展是否安装成功,方便后续排查。

验证方法

修改buildspec后重新触发构建:

  • 查看install阶段日志,确认php-sodium安装过程无报错。
  • 确认composer install阶段不再出现ext-sodium缺失的提示,依赖安装完成。

内容的提问来源于stack exchange,提问作者Ole Dahl Mansfeld

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:55:01