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).