我在試驗我是否可以使用ansible-playbook local.yml
在本地主機上檢查bundle
的版本,如下面的local.yml
所示。.zshrc沒有加載Ansible?
local.yml
--- - hosts: local remote_user: someuser tasks: - name: Check bundle version shell: "{{ansible_user_shell}} -l -c 'bundle --version'" args: chdir: "/path/to/rails/dir"
庫存文件如下:
主機
[local] 127.0.0.1 [local:vars] ansible_ssh_user=someuser
不過,我得到了錯誤的說法,
標準錯誤:zsh中:1:找不到命令:bundle`
我不知道,因爲我確定是安裝包爲什麼我收到此錯誤在本地主機上。另外我發現shell模塊不使用登錄shell,因此.zshrc中的環境變量未加載,因此我運行了帶有-l
(使用登錄shell)選項的zsh。但它不起作用。有什麼我失蹤?
這可能與Ansible如何執行sudo有關 - 它可能不會設置「$ HOME」,使得.zshrc來自錯誤的用戶。或者按照這個方法猜猜看。 –
@MikkoOhtamaa謝謝你的回答。我其實是自己想出來的。 – hitochan