読者です 読者をやめる 読者になる 読者になる

weblog of key_amb

主にIT関連の技術メモ

"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 environsclenv-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!

過去の記事