mt_coff's log

メモとか雑に

anyenvの導入でハマったのでメモ

anyenvの導入にハマってしまったので自分用にメモ.

anyenvとは

github.com

pyenvやrbenvなどの複数バージョンの管理を行えるツールを管理できるツールでコレがあることによって自分で設定ファイルに設定を追加せずに**envを利用刷ることができる.便利.

第一のハマりポイント - 既に .**envが存在する

README通りに導入はできたが,どうにも**envが上手く動作しなかった.
ローカル,グローバルどちらに使いたいバージョンを設定してもうまく適用されなかった.
見つけたのがこちらの記事↓

qiita.com

どうも過去に**envを導入したことがあってhomeディレクトリ下に.**envディレクトリがあると上手く動作しないことが原因らしい.

第二のハマリポイント - 設定の記述するファイル

anyenvの導入には

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

を自分の設定ファイルに追加する必要がある.
自分は.zshenv上記設定を追加していて(なぜかは忘れた)上手く動作しなかった.
pyenvを使っていた時は上手く動作していたので中々気づくことができずにハマってしまった...
どうやら/etc/zprofile 内で /usr/libexec/path_helper -sを実行してinitで追加されるパスを上書きしているのが悪いようだ.
.zshrceval $(anyenv init -)を追加することで解決した.設定ファイルの読み込み順の問題みたいなので/etc/zprofileを読み込まなくするか,以降に読み込まれるファイルに設定を追加すると解決するみたい.

まとめ

2つの原因でハマっていてかなり困った.初期化処理が何をしているか理解すれハマらずにすんだと思うので,これからはその辺りも理解してやっていきたい💪