Edited at

Sencha Cmd のバージョン切り替え

More than 5 years have passed since last update.

Ext JS 5 がでて、いろいろ検証したり勉強したりしています。ところが、普段のお仕事は Ext JS 4 ベース。ですから Sencha Cmd の違うバージョンをつかわないといけません。

Sencha Cmd をインストールすると、

~/bin/Sencha/Cmd/x.x.x.x/

の下 (x.x.x.x はバージョン番号) にインストールされます。

複数のバージョンがインストールされるようになっているのですが、単に sencha で起動するのは最後にインストールしたやつです。

export PATH=/Users/sunvisor/bin/Sencha/Cmd/5.0.0.116:$PATH

export PATH=/Users/sunvisor/bin/Sencha/Cmd/5.0.0.160:$PATH
export PATH=/Users/sunvisor/bin/Sencha/Cmd/4.0.2.67:$PATH
export PATH=/Users/sunvisor/bin/Sencha/Cmd/4.0.4.84:$PATH

.profile の中はこんな風に複数の path 定義がならんでいると思います。

それぞれのディレクトリの中に sencha ってコマンドがあるんで、一番下の行で指定されているディレクトリの sencha が実行されます。

でも各ディレクトリには、その他に、バージョン番号付きの sencha コマンドもあります。

-rwxr-xr-x   1 sunvisor  staff     1697  6  2 20:59 sencha

-rwxr-xr-x 1 sunvisor staff 1697 6 2 20:59 sencha-5.0.0.160

各ディレクトリには path は通っていますから、このバージョン番号付きのを実行してやれば、現在最優先になっていない方の sencha コマンドを実行できます。

sencha-5.0.0.160 app build

bash や zsh のTABキーでの補完機能を使えばさほどめんどうではないので、便利ですよ。

ちなみに、今の sencha がどこの sencha かを調べるには

sencha which

とします。


追記

それでもやっぱり面倒くさいとか、バッチファイルなどの中で sencha で呼んでいるから、うまくいかないとかありますよね。

それで、.profile の中に alias 定義をすることにしました。

# sencha cmd version switch

alias usesencha402='export PATH=/Users/sunvisor/bin/Sencha/Cmd/4.0.2.67:$PATH'
alias usesencha4='export PATH=/Users/sunvisor/bin/Sencha/Cmd/4.0.4.84:$PATH'
alias usesencha5='export PATH=/Users/sunvisor/bin/Sencha/Cmd/5.0.0.160:$PATH'

こんな感じでやっておくと、ターミナルで

usesencha5

とすれば Cmd 5 が使われるようになります。ターミナルを閉じたり、別な bash/zsh を起動したら無効になりますので、いまから 5 に切り替えて作業して、通常は 4 でいいねん、というとき便利かと。

新しいバージョンが出れば、alias を増やしたり、書き換えたりすれば OK です。