Mix edeliver无法识别mix.exs的Elixir版本更新,如何解决?
解决Edeliver构建时Elixir版本不匹配的问题
以下是需要检查的关键内容和解决步骤:
检查Edeliver的构建配置文件
查看项目根目录下的.deliver/config文件,确认是否存在硬编码的ELIXIR_VERSION变量或相关版本指定配置,这类配置会强制Edeliver使用旧版本Elixir,若有则修改为1.13.4。同时排查是否有引用外部版本管理脚本,确保脚本未锁定旧版本。清理构建缓存
执行mix clean --build清理本地项目构建缓存,手动删除_build和.deliver/releases目录,避免旧构建残留干扰。如果是远程构建,运行mix edeliver clean清理远程服务器上的Edeliver缓存。确认Git分支代码同步状态
执行git diff $CURRENT_BRANCH -- mix.exs,验证目标分支下的mix.exs确实已更新为elixir: "~> 1.13.4",确保Edeliver构建时拉取的是最新代码。同时检查Edeliver配置中是否意外指定了其他分支/tag。验证环境的Elixir版本
执行elixir -v确认当前终端环境的Elixir版本为1.13.4。如果使用asdf等版本管理工具,检查全局/局部版本设置是否正确,确保Edeliver能读取到正确的版本配置。若用容器化构建,确认容器镜像的Elixir版本已更新。查看详细构建日志
重新执行构建命令时添加--verbose参数:mix edeliver build release --verbose --branch="$CURRENT_BRANCH" --auto-version=build-date+build-time+git-branch+git-revision从日志中定位读取
mix.exs的环节,确认读取的文件路径和解析出的版本号,精准定位问题根源。
内容的提问来源于stack exchange,提问作者aethon-luke
相关产品推荐
相关产品推荐

