anyenvという**env系の簡易マネージャを作った

ndenvのエントリのおまけでanyenv install plenv作るかもと書いておいたら、@koba04さんから欲しい!というコメント頂いたので、とりあえずで実装してみました。ついでにanyenvの説明をば。

何?

rbenvをコピーしたplenvやndenvなどは、.bashrcとかに2行追記して使うわけですが、数が増えるとこんな感じになってなんか悲しいです。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.plenv/bin:$PATH"
eval "$(plenv init -)"
export PATH="$HOME/.ndenv/bin:$PATH"
eval "$(ndenv init -)"
...

そこでanyenvを使うと、書くべきはたったの2行で済みます。

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

これで~/.anyenv/envs以下にある何々envを全部initしてくれるので今まで通りrbenvコマンドとかが使えるようになります。

インストールも

これだけだと単に行数削減くらいしか意味ないんですが、installも作ったのでgit cloneする必要もないです。

$ anyenv install plenv
$ exec $SHELL -l
$ plenv install 5.18.0

こんな感じ。一応、再インストールもできるようにしてて、その場合は既存のversionsとversionについてはそのまま引き継いでくれるはずです。

TODO

多分バグってるのでIssuesかPull Requestsお待ちしてます。ご利用は自己責任で。。。

anyenv create oreenvとかやったら、スケルトンが作れるといいかもですね。それぐらい僕はrbenvを愛しています。

riocampos 14-10-21 (火) 20:38

初めまして。 rbenv 好きの者です。
Node.js をまだほとんど使っていない状況でしたので ndenv & anyenv を使いインストールいたしました。
ところで ndenv-npm-rehash を作って頂くことは出来ませんでしょうか?
(普段が rbenv-gem-rehash に頼っているので rehash し忘れそうなのです…^^;
よろしくお願いいたします。
お邪魔いたしました。