anyenvインストール時にハマった話

anyenvをインストールしたのにrbenvがインストールできない。そんな減少に陥った話

確かに確認してみると下記のように出る。

$ anyenv install rbenv
anyenv-install: definition not found: rbenv
$ anyenv install --list
Available **envs:
  *

どうやらANYENV_ROOTが設定されていないのが原因とのこと。
でもおかしい。ANYENV_ROOTは設定している認識だった。
ansibleとなるが下記のように入れてある。

- name: .profileに行追加
  lineinfile:
    dest=/etc/profile.d/anyenv.sh
    line={{ item }}
  with_items:
    - 'export ANYENV_ROOT="/usr/local/anyenv"'
    - 'export PATH=${ANYENV_ROOT}/bin:${PATH}'
    - 'eval "$(anyenv init --no-rehash -)"'
  when: anyenv_install.rc == 1

でも確かにVMにログインして下記を叩くと入っていない

$ echo $ANYENV_ROOT

確認してみるとなんかanyenvがおかしい。RBENVを使ってた頃の名残が残ってる。

$ cat /etc/profile.d/anyenv.sh
export RBENV_ROOT="/usr/local/anyenv"
export PATH=${RBENV_ROOT}/bin:${PATH}
eval "$(rbenv init --no-rehash -)"

逐一vagrant destroyしてから作り直しているから古いファイルが残ってるなんてことはありえないはずだけど。
これに気がついてもう一度destroyして作り直したら通った。

というわけでANYENV_ROOTが正しく設定されていないと*envのインストールがうまくいかない。

稀有なケースだと思うが一応記事とした。

コメントを残す