plenv で perl の切り替えがうまく行かないメモ
ずっと Perl のバージョンを切り替えるツールとして perlbrew を使っていたけど、気がむいたので GitHub - tokuhirom/plenv: Perl binary manager を使ってみようとして失敗した時のメモ
現象
$ plenv global perl-5.16 とすると
5.16 is not installed on plenv. at ~/.plenv/bin/plenv と言われてしまう
原因2
plenv は ~/.plenv/versions/ の配下に Perl のバージョンに合わせて 5.16.3 とか 5.14.4 とかバージョン番号だけのディレクトリを作成して管理するのがデフォルト
'--as' オプションを付けると別のディレクトリ名にできるけど、perl-5.16 とかするとうまく動かない
plenv は global オプションを受け取った時に「気を利かせて」perl-5.16.3 から 'perl-' 部分を除いて 5.16.3 だと思ってスイッチしてくれる。普通に使う上ではそれでよい。plenv global 5.16.3 でも plenv global perl-5.16.3 でも受け入れてくれる。
plenv install する時に 5.16.3 ではなくて perl-5.16.3 と指定してもうまく行ったのも、同様な「配慮」によるもの。
しかし perlbrew 脳の私はインストール名として perl-5.16 を指定したため、すべてを台無しにしていた。
解決策
'--as' オプションを付ける時は perl- はじまりの名前を付けない