Apple M1芯片运行nektos/act遇架构警告,如何解决?
关于
nektos/act在Apple M1芯片上的警告说明 警告产生原因
- Apple M1/M系列芯片采用ARM64架构,但GitHub Actions默认的运行容器大多基于AMD64(x86_64)架构构建。
act默认会匹配本地CPU架构拉取镜像,但大量Actions未适配ARM64版本,直接运行可能出现指令集不匹配的兼容性问题,因此工具提前抛出警告提示风险。
消除警告的方法
单次运行临时解决
每次执行act命令时手动指定架构参数:
act -l --container-architecture linux/amd64
运行工作流时同样可以添加该参数:
act --container-architecture linux/amd64
全局永久解决
无需修改Docker全局配置,给act设置默认参数即可:
- 在用户主目录下创建
.actrc文件 - 写入以下内容:
--container-architecture linux/amd64
之后再运行act -l就不会弹出该警告。
关于Docker配置的说明
不需要单独在Docker中做额外配置,act的--container-architecture参数会自动告知Docker拉取指定架构的镜像。M1 Mac自带的Rosetta 2(可通过softwareupdate --install-rosetta手动安装)会自动完成跨架构指令转译,确保容器正常运行。
内容的提问来源于stack exchange,提问作者Ricardo Rocha
相关产品推荐
相关产品推荐

