添加Torch 2.1.2后Ansible unarchive模块报错求助
Ansible unarchive模块报错排查(添加Torch依赖后触发)
问题详情
- 在Bitbucket流水线运行Ansible时,触发错误:
FILENAME.tar.gz (因隐私隐藏) 在Ansible控制器上。如果您使用模块并期望文件存在于远程端,请查看remote_src选项
- 唯一变更:添加了Torch 2.1.2作为依赖,移除该依赖后错误消失
- 本地环境验证:安装Torch不影响目录结构,业务功能正常
- 报错发生在
ansible.builtin.unarchive模块执行步骤,相关代码如下:
- name: Extract application become: true ansible.builtin.unarchive: src: ../filename.tar.gz dest: "{{ root }}" creates : "{{ new }}" owner: user1 group: user1
可能原因及解决建议
1. 相对路径基准改变
Ansible执行时的工作目录可能因Torch安装脚本的操作(如cd命令)发生变化,导致../filename.tar.gz指向的路径不再正确。
- 解决:在Ansible执行前添加流水线步骤,打印当前工作目录(
pwd)和上级目录文件列表(ls ../),确认filename.tar.gz的实际位置;把src改为绝对路径(比如/opt/build/filename.tar.gz,根据流水线构建输出路径调整)。
2. 构建产物生成路径变更
安装Torch可能修改了构建脚本的行为,导致filename.tar.gz的生成位置从目标远程主机转移到了Ansible控制器(流水线节点),或者路径层级改变。
- 解决:检查构建脚本逻辑,确认Torch安装步骤是否影响了打包命令的输出目录;如果文件实际在控制器上且需要传到远程解压,保持默认
remote_src=no即可,但要确保src路径正确;如果文件已在远程主机上,给unarchive模块添加remote_src: yes参数。
3. 流水线临时目录异常
Torch安装包体积较大,可能导致流水线临时空间不足,间接引发文件路径识别错误或文件生成不完整。
- 解决:在流水线中添加磁盘空间检查步骤,确认构建环境有足够空间;手动验证构建产物是否完整生成。
内容的提问来源于stack exchange,提问作者Ashley Southworth
相关产品推荐
相关产品推荐

