Ansible - 消息:没有匹配 '$item' 的包可用

Ansible - msg: No package matching '$item' is available

我需要设置我的服务器。我有以下 ansible 剧本。

---

- hosts: webservers
  user: root
  sudo: yes
  tasks:
    - name: add nginx ppa
      action: apt_repository repo=ppa:nginx/stable state=present

    - name: install common packages needed for python application development
      action: apt pkg=$item state=installed
      with_items:
        - libpq-dev
        - libmysqlclient-dev
        - libxml2-dev
        - libxslt1-dev
        - mysql-client
        - python-dev
        - python-setuptools
        - python-mysqldb
        - build-essential
        - git
        - nginx

    - name: install pip
      action: easy_install name=pip

    - name: install various libraries with pip
      action: pip name=$item state=present
      with_items:
        - uwsgi

  handlers:
    - name: restart nginx
      service: name=nginx state=restarted

当我运行这个脚本时,下面是输出

PLAY [webservers] ************************************************************* 

GATHERING FACTS *************************************************************** 
ok: [IP]

TASK: [add nginx ppa] ********************************************************* 
ok: [IP]

TASK: [install common packages needed for python application development] ***** 
failed: [IP] => (item=libpq-dev,libmysqlclient-dev,libxml2-dev,libxslt1-dev,mysql-client,python-dev,python-setuptools,python-mysqldb,build-essential,git,nginx) => {"failed": true, "item": "libpq-dev,libmysqlclient-dev,libxml2-dev,libxslt1-dev,mysql-client,python-dev,python-setuptools,python-mysqldb,build-essential,git,nginx"}
msg: No package matching '$item' is available

FATAL: all hosts have already failed -- aborting

PLAY RECAP ******************************************************************** 
           to retry, use: --limit @/home/praful/setup_server.yaml.retry

IP              : ok=2    changed=0    unreachable=0    failed=1   

我已经提到 this link 了。

我是 ansible 的新手,不明白这个错误,因为 with_items 中提供的包名称没有拼写错误。 具体是什么错误??

您需要 jinja 变量语法 {{item}},其中您有 $item.