--- - name: Test if composer is installed system-wide ansible.builtin.stat: path: /usr/bin/composer register: _composer_global_executable - name: Install composer for user when: not _composer_global_executable.stat.exists block: - name: Check if composer installed ansible.builtin.stat: path: "{{ ansible_user_dir }}/.local/bin/composer" register: _composer_user_executable - name: Download latest version of composer locally ansible.builtin.get_url: url: https://getcomposer.org/download/latest-stable/composer.phar dest: "{{ ansible_user_dir }}/.local/bin/composer" mode: "0755" when: - (not _composer_user_executable.stat.exists) or composer_upgrade - not ansible_check_mode - name: Set composer path to use local installation ansible.builtin.set_fact: composer_path: "{{ ansible_user_dir }}/.local/bin/composer"