"clenv" がそこそこ xxenv っぽく使えるようになってきた
3日前に上の記事を書いたばかりですが、また少し工事をしたので、自分の中での整理も兼ねて、お知らせ。
"clenv" は私が趣味で作っているもので、シェルスクリプトのパッケージ管理ツールのようなものです。
ソースコードは https://github.com/key-amb/clenv で公開しています。
追加・変更したコマンドについて
clenv help
の実行結果から抜粋します:
clenv init [-] # Bootstrap clenv create [ENVIRONMENT] # Initialize ENVIRONMENT clenv environ # Show current environment clenv environs # List environments clenv global [ENVIRONMENT] # Get/Set global environment clenv local [ENVIRONMENT] # Get/Set local environment clenv exec EXECUTABLE # Execute EXECUTABLE in clenv clenv which EXECUTABLE # Show path of EXECUTABLE in clenv
exec
, which
は v0.3.0 で、後は v0.5.0 以降で追加しました。
clenv create
は v0.4 以前の clenv init-env
相当、 clenv environs
は clenv-list-env
相当です。
clenv environ[s]
は rbenv 等の version[s]
サブコマンド相当で、現在の clenv 的な意味の environment を表示します。
コマンド動作イメージ
上のコマンド群を動かした場合の挙動の例を、軽く以下に示します:
% pwd /home/key-amb/tmp % clenv environ default (set by /home/key-amb/.clenv/environment) % clenv environs * default % clenv create foo Initialized env 'foo' % clenv create bar Initialized env 'bar' % clenv environs bar * default foo % clenv local foo % clenv environ foo (set by /home/key-amb/tmp/.clenv-environment) % CLENV_ENVIRONMENT=bar clenv environ bar (set by CLENV_ENVIRONMENT) % clenv global default (set by /home/key-amb/.clenv/environment)
create 〜 install, environ[s] 〜 version[s] と考えれば、 rbenv 等に慣れた人であれば、そこそこ違和感なく使えるのではないでしょうか。
初期セットアップの改善
clenv のセットアップ方法も、より xxenv に近づき、以前よりシンプルになりました。
README から抜粋します。
# .bash_profile 等に追記する export CLENV_ROOT=$HOME/.clenv export PATH="$CLENV_ROOT/bin:$PATH" eval "$(clenv init -)"
rbenv や plenv の system
に相当するものがないので、 clenv init -
の中で、初回は default
という環境を create
して global
にセットすることにしました。
終わりに
clenv の主に v0.4 〜 v0.6 の変更について、ダイジェストでお伝えしました。
よろしければ、手元に入れて遊んでみて下さい。
Enjoy!