Elixirプログラミング言語のバージョンマネージャーをAnsibleを使用してインストールしようとしています。 Ansibleを使ってPATHにバイナリを追加する
これら
は、私はこのために使用戯曲です:- name: Kiex Installation
hosts: web
gather_facts: false
remote_user: deployer
tasks:
- shell: \curl -sSL https://raw.githubusercontent.com/taylor/kiex/master/install | bash -s
- name: Add Kiex Bin to Path
lineinfile:
dest: /home/deployer/.bashrc
regexp: '^test -s'
line: '[[ -s "$HOME/.kiex/scripts/kiex" ]] && source "$HOME/.kiex/scripts/kiex"'
- name: Reload Path
shell: source /home/deployer/.bashrc
args:
executable: /bin/bash
- shell: echo $PATH
register: pathul
- debug:
var: pathul
- name: Elixir Installation
hosts: web
gather_facts: false
remote_user: deployer
tasks:
- shell: echo $PATH
register: pathul
- debug:
var: pathul
- name: Install Elixir Version
command: /home/deployer/.kiex/bin/kiex list
args:
executable: /bin/bash
chdir: /home/deployer/
- name: Set Elixir Version as Default
shell: kiex default 1.4
Kiexのインストールは成功だと私は、リモートマシンにログインする場合、私はkiex
コマンドを使用して、単純にそれを実行することができています。私はバイナリを "〜/ .kiex/scripts/kiex"にソースしたので、これを行うことができます。私は$PATH
変数をエコーすると、それはそれでkiexバイナリパス/home/deployer/.kiex/bin
を示しています
$ echo $PATH
/home/deployer/.kiex/bin:/home/deployer/.kiex/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
しかし
kiex
、kiex list
と上に示したエリクサーインストールプレイ中/home/deoployer/.kiex/bin/kiex list
がメッセージで失敗しても:
TASK [Set Elixir Version as Default] *******************************************
fatal: [local-web-2]: FAILED! => {"changed": true, "cmd": "kiex default 1.4", "delta": "0:00:00.002042", "end": "2017-01-26 22:13:32.898082", "failed": true, "rc": 127, "start": "2017-01-26 22:13:32.896040", "stderr": "/bin/sh: 1: kiex: not found", "stdout": "", "stdout_lines": [], "warnings": []}
また、012を使用してパスをエコーした結果を登録した変数/home/deployer/.kiex/bin
:
"stdout": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
kiex
コマンドは、どのようにしてAnsibleで正常に動作させることができますか?
私は私の脚本でデプロイヤを持っていました。タイプミスは、stackoverflowサンプルのちょうどでした。 〜/ .bashrcが読み込まれていないことに関して、私はそこに何か間違っていると思わなかった。どこで '[[-s" $ HOME/.kiex/scripts/kiex "]] && source" $ HOME/.kiex/scripts/kiex "''を置くべきですか? –
私は分かりません。それは、OSと配布に依存します。そして、私は完全な道を使うことを勧めました。 – techraf
私は '〜/ .profile'を試しましたが、まだ運がありません。 –