anyenv をインストールする
はじめに
anyenvをインストールする前の状態
- homebrewで入れたzshを使っている
問題点
この状態だと
exec $SHELL -l
した時にログインシェルの /bin/bash に適用され望み通りの挙動をしない。
ログインシェルに設定する
ログインシェルをインストールしたhomebrewのzshに対応します。
vi /etc/shells/
にhomebrewで設定したshellを追記するという、調べるとよくある方法だとログインshellは変更できませんでした。
システム環境設定 -> ユーザーとグループ -> 設定したいユーザーを右クリック -> 詳細オプション -> ログインシェル
を修正すると設定することができました。
anyenvのインストール環境はこれでOK
あとはanyevのドキュメントにあるとおりに必要な xxxenv をインストールして使用できます。
ハマった
上記の方法で問題なかったのですが、ただ1つtmuxを起動すると /shims のパスよりもシステムのパスが読み込まれてハマる
いろいろ調べてたら
僕の車輪の再発明 - tmuxとrbenvを併用する場合は.rbenv/shimsのパスも通してないとバージョン指定できない
akishin999の日記 - tmux + rbenv の環境で指定した Ruby が使われない件
にあたった。
今のところしょうがないから
~/.zshrc
に
# rbenv if [ -d ${HOME}/.anyenv/envs/rbenv ] ; then export PATH="${HOME}/.anyenv/envs/rbenv/bin:${HOME}/.anyenv/envs/rbenv/shims:${PATH}" eval "$(rbenv init -)" fi # plenv if [ -d ${HOME}/.anyenv/envs/plenv ] ; then export PATH=${HOME}/.anyenv/envs/.plenv/bin/:${HOME}/.anyenv/envs/plenv/shims:${PATH} eval "$(plenv init -)" fi
って設定を書いて事なきを得ている。
まとめ
せっかくanyenvでインストールしてるのに、zshrcにそれぞれのenvの設定がかかれているのはいけてない。
なんか良い解決方法はないものか…