Brew-caskでインストールするアプリは通常 HOME下の~/Applicationsの方へリンクが貼られますが、 一部のアプリは/Applicationsの方に無いと動かないので 強制的にそこにもコピーを作ったりすることがあります。
今更移動させるのもあれだな、と思ってましたが、 色々不便が増える前に移しておこう、ということで 全部移動させました。
HOMEBREW_CASK_OPTS
Brew-caskでは--appdir=/path/to/dir
の様にしてコマンドに直接引数として渡すか、
HOMEBREW_CASK_OPTS
という環境変数にそのような引数を書いておくと
~/Applicationsの代わりにそちらにアプリのリンクを貼るようになります
1。
ということで、~/.bashrc等に
export HOMEBREW_CASK_OPTS="--appdir=/Applications"
を追加しておけば、今後Brew-caskでインストールされるアプリは /Applicationsにリンクが貼られる様になります。
すでにインストールされたアプリの移動
一度全部アンインストールしてインストールし直すかな、とか思いましたが、 通常の実体の場合でもただ移動させただけでも不具合が起こることは 殆どないでしょうし、 Brew-caskは単にリンクを置いてるだけなので、そのリンクを直接手で移動させました。
こんな感じのコマンド:
for a in ~/Applications/*.app;do link=$(readlink "$a");if [ $? -eq 0 ];then app=$(basename "$a");if [ -e "/Applications/$app" ];then printf "\e[31m/Applications/$app already exists!\n\e[m";else ln -s "$link" /Applications/"$app";fi;fi;done
基本、リンクなのはBrew-caskのアプリなのでリンクを削除して
/Applicationsに作り直し。
(単にmv
でも良かったかも。)
行ごとに直すとこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1つ、 HyperSwitch が/Applicationsに在ることが必須で、最初にアプリを起動後に そこにコピーを作っていたので上のalreaady exists が出ましたが、 それ以外は移動出来ました。
HyperSwitchに関してもできてたコピーは消して、
$ ln -s /opt/homebrew-cask/Caskroom/hyperswitch/latest/HyperSwitch.app /Applications/HyperSwitch.app
と手動で設定。
取り敢えず何かおかしくなったら入れなおしたりすれば良いとして、 今のところ問題なく動いてます。