2015-10-19 47 views
0

編寫我的第一個Ansible腳本。我正在嘗試安裝GVM。Ansible GVM - Go版本管理器

我安裝GVM OK(我登錄到箱並檢查)當我在包裝盒上運行GVM版直,我得到:Go Version Manager v1.0.22 installed at /d1/golang/gvm

但是當我運行它作爲Ansible命令:

- name: GVM Version 
    shell: gvm version 
    become: yes 

我得到以下錯誤:

failed: [prod2] => {"changed": true, "cmd": "gvm version", "delta": "0:00:00.002081", "end": "2015-10-19 13:41:54.123575", "rc": 127, "start": "2015-10-19 13:41:54.121494", "warnings": []} 
stderr: /bin/bash: gvm: command not found 

FATAL: all hosts have already failed -- aborting 

我運行bash腳本其中包含:source /d1/golang/gvm/scripts/gvm這是爲了確保你沒有重新啓動終端 - 請參閱下面的有效命令。

- name: Run gvm source 
    shell: . /etc/profile.d/golang.sh executable=/bin/bash 
    become: yes 

任何想法我做錯了什麼?

+0

你什麼時候採購gvm環境?你的任務只是調用'gvm'。 – JimB

+0

@JimB我已經更新了參考採購的主要問題。 –

+3

Ansible任務是獨立運行的。在一個shell中更改環境不會影響另一個。你需要安裝gvm,你可以直接用正確的環境調用gvm。如果這只是一個PATH問題,請使用完整路徑。 – JimB

回答

0

我結束了在ansible命令

name: Install go 
    shell: . /etc/profile.d/golang.sh && gvm install go1.5 executable=/bin/bash 

這確保了源已被設置,則允許運行gvm命令運行兩個命令。