Ansible unarchive:没有到达远程主机
Ansible unarchive: doesn't reach a remote host
我使用 Ansible 作为 Vagrant 的配置器。我有一个任务:
- name: download and unarchive redis binaries
unarchive:
src: "http://download.redis.io/redis-stable.tar.gz"
dest: "/tmp"
remote_src: True
但由于某些原因,当我 运行 a vagrant provision
:
时,我在控制台中看到错误
"failed": true, "msg": "file or module does not exist: /Users/my-username/Projects/project-name/http:/download.redis.io/redis-stable.tar.gz"`
> ansible --version
ansible 2.1.2.0
有什么想法吗?
注意:仔细查找错误 http:/download
。为什么只有一个反斜杠?
您问题中的语法适用于 Ansible 2.2.0.0 及更高版本。
对于 Ansible 2.0 和 2.1 使用:
- name: download and unarchive redis binaries
unarchive:
src: "http://download.redis.io/redis-stable.tar.gz"
dest: "/tmp"
copy: false
你的问题中的双斜杠被删除了,因为参数 src
被视为本地文件的路径(同样,因为旧版本的 Ansible 需要 copy: false
除了 URL).
我使用 Ansible 作为 Vagrant 的配置器。我有一个任务:
- name: download and unarchive redis binaries
unarchive:
src: "http://download.redis.io/redis-stable.tar.gz"
dest: "/tmp"
remote_src: True
但由于某些原因,当我 运行 a vagrant provision
:
"failed": true, "msg": "file or module does not exist: /Users/my-username/Projects/project-name/http:/download.redis.io/redis-stable.tar.gz"`
> ansible --version
ansible 2.1.2.0
有什么想法吗?
注意:仔细查找错误 http:/download
。为什么只有一个反斜杠?
您问题中的语法适用于 Ansible 2.2.0.0 及更高版本。
对于 Ansible 2.0 和 2.1 使用:
- name: download and unarchive redis binaries
unarchive:
src: "http://download.redis.io/redis-stable.tar.gz"
dest: "/tmp"
copy: false
你的问题中的双斜杠被删除了,因为参数 src
被视为本地文件的路径(同样,因为旧版本的 Ansible 需要 copy: false
除了 URL).