Discourse::Utils.execute_command sans PATH

Mon plugin a besoin de ansible. Je l’installais avec apt-get, mais cette version dans debian semble cassée, alors j’ai essayé de l’installer avec pipx install --include-deps ansible. Jusqu’ici tout va bien. Fonctionne très bien en tant que root ou discourse. Mais lorsque ma commande s’exécute avec #!/usr/bin/env ansible-playbook, elle ne le trouve pas. J’ai fait toutes sortes de choses pour m’assurer que le chemin inclut ~/.local/pipx/venvs/ansible/bin, et cela fonctionne dans les shells, mais lorsque Rails l’exécute, il ne le trouve pas.

create_droplet ansible task failed  error_message: /var/www/discourse/lib/discourse.rb:138:in `exec': /usr/bin/env: ‘ansible-playbook’: No such file or directory

Je suis bloqué.

Je l’ai résolu en installant ansible comme ceci :

PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install --force --include-deps ansible 

Maintenant, je travaille à installer jmespath de manière à ce qu’Ansible puisse le trouver. :crying_cat_face: