uechi.io/_posts/2014-10-27-brew-cask-downloader.md
Yasuaki Uechi 362ff17ac4 Add site
2017-10-07 11:43:26 +09:00

2.7 KiB

title date
homebrew-caskを単純なダウンローダーとして使う 2014-10-27 09:00:00 +09:00

image

homebrew-caskを単純なダウンローダーとして使う。

理由

  1. pkg形式 で配布されているアプリケーションはインストール時にオプションをカスタマイズ出来ることが多い。
  2. にも関わらずbrew cask installを使うと、それらのオプションを選べずにインストールされてしまい悲しい。
  3. そこで、brew caskでfetchまでは自動化して、インストール自体は手動でやろう(スマートではないが。)

方法

準備

以下のようなシェルスクリプトを書いて、/usr/local/bin/brew-smash など任意の実行パスに配置し、chmod +x /path/to/brew-smash等で実行権限を与える。

#!/bin/sh
# Usage: brew smash app-name

if [ -z "$1" ] ; then
  echo "Usage: brew smash app-name"
  exit 1
fi

if [ ! -d "Casks" ] ; then
  KEEP_CLEAN=true
else
  KEEP_CLEAN=false
fi

HOMEBREW_CACHE=. brew cask fetch "$1"

if [ "$KEEP_CLEAN" = true ] ; then
  rm -r "Casks"
fi

もしくは直接ダウンロードしても良い。

$ curl https://gist.githubusercontent.com/uetchy/eb625f922eff16eb404b/raw/brew-smash.sh -o /usr/local/bin/brew-smash
$ chmod +x /usr/local/bin/brew-smash

実際に使う

以下のようにbrew smashコマンドを叩く

$ brew smash send-to-kindle
==> Fetching resources for Cask send-to-kindle
==> Downloading https://s3.amazonaws.com/sendtokindle/SendToKindleForMac-installer-v1.0.0.220.pkg
######################################################################## 100.0%
==> Success! Downloaded to -> ./send-to-kindle-1.0.0.220.pkg

シェルスクリプトの解説

難しいことはやってないが、brew cask fetchコマンドはキャッシュ先に__Casks__ディレクトリを生成するので、それを除去している。また、元々カレントディレクトリにCasksという名前のディレクトリがある場合、それを削除してしまわないようにしている。

本当にやりたかったこと

こういう機能いれてくれ

$ brew cask install virtualbox

==> Fetching resources for Cask virtualbox

==> Downloading http://download.virtualbox.org/virtualbox/4.3.18/VirtualBox-4.3.18-96516-OSX.dmg

###### ################################################################## 100.0%

==> Cask virtualbox has installation options

==> Do you need to install 'Oracle VM VirtualBox Command Line Utilities'? [y/n]

==> y

==> Success!