2016-04-08 31 views
1

我開發了一個Ansible role,安裝chruby和another one,使用ruby-install安裝ruby。我如何用Ansible運行chruby?

我想在我的Ansible劇本使用chruby,但chruby命令不可用的commandshell模塊,即使chruby工作正常,如果我通過與我正在與劇本相同的用戶SSH登錄。

這是我的嘗試:

  1. 確保chruby可通過部署下面的腳本/etc/profile.d/chruby.sh所有用戶,建議在chruby's README

    if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then 
        source /usr/local/share/chruby/chruby.sh 
        source /usr/local/share/chruby/auto.sh 
    fi 
    
  2. 運行與任務commandshell模塊(使用/bin/bash作爲可執行文件)手動運行source /usr/local/share/chruby/chruby.shsource /usr/local/share/chruby/auto.sh,然後執行command任務chruby

在這兩種情況下,我得到了以下錯誤:chruby: command not found

如何在Ansible遊戲中運行chruby?

+0

請您嘗試設置'PATH'環境?您可以查看FAQ(http://docs.ansible.com/ansible/faq.html)。 – longhua

+1

是的,但它擊敗了chruby的目的我相信... –

回答

1

你可以寫簡單的bash /等腳本或者您也可以採購這些文件:

shell: bash -c "source /usr/local/share/chruby/chruby.sh; source /usr/local/share/chruby/auto.sh;chruby ..." 
相關問題