Help us understand the problem. What is going on with this article?

Homebrewで*.dmgなアプリをインストールしたい→それhomebrew-caskで出来るよ

More than 5 years have passed since last update.

BoxenがどうやってMacアプリ(*.dmg)をインストールしているのか調べてみた の続き。調べてたらちょうど目的にかなうhomebrew-caskを見つけました。

homebrew-caskが良さそうなので導入してみた
コマンドラインでMacのアプリをインストール

というわけでレッツトライ

$ brew tap phinze/homebrew-cask
$ brew install brew-cask

これだけでインストール完了。デフォルトではアプリが~/Application/の下にリンクが張られます。最初は↓のように設定していましたが、途中からデフォルトに戻しました。

export HOMEBREW_CASK_OPTS="--appdir=/Applications"

AppStoreから入れた事のあるアプリ

まずはevernoteを入れてみます。

macmini:~ tak$ brew cask search evernote
==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
evernote
macmini:~ tak$ brew cask install evernote
==> Downloading https://www.evernote.com/about/download/get.php?file=EvernoteMac
######################################################################## 100.0%
==> It seems there is already an app at /Applications/Evernote.app; not linking.
==> Success! evernote installed to /opt/homebrew-cask/Caskroom/evernote/latest
macmini:~ tak$ 

すでに入ってるので怒られました。/Applicationの下にあるevernoteを削除してリトライ

macmini:~ tak$ brew cask install evernote
Error: Cask for evernote is already installed. Use `--force` to install anyways.     // ←怒られた
macmini:~ tak$ brew cask uninstall evernote
macmini:~ tak$ brew cask install evernote
==> Downloading https://www.evernote.com/about/download/get.php?file=EvernoteMac
Already downloaded: /Library/Caches/Homebrew/evernote-latest.php
==> Linking Evernote.app to /Applications/Evernote.app
==> Success! evernote installed to /opt/homebrew-cask/Caskroom/evernote/latest
macmini:~ tak$ 

これで入ったようです。
Evernoteを起動すると、"AppStore版のインストールが検出"とダイアログが出てきます。これはEvernoteの中でのチェックでしょうか。

空白_Skitch_キャンバス.png

たしかにAppStoreから入れた版を使っていたのでこれは正常です。AppStoreの「購入済み」からEvernoteを"隠して"おきます。

dmgパッケージから入れたアプリ

SourceTreeはdmgパッケージから入れてたので、これをbrew caskします。

macmini:~ tak$ cd /Applications/
macmini:Applications tak$ ls
Alfred.app      Font Book.app       Safari.app
App Store.app       FormatMatch.app     ScanSnap
Automator.app       Game Center.app     Skitch.app
Calculator.app      Image Capture.app   SourceTree.app //← dmgから入れたもの
Calendar.app        KeyRemap4MacBook.app    Stickies.app
CheatSheet.app      Kobito.app      Sublime Text 2.app
Chess.app       Launchpad.app       SugarSync.app
Chocolat.app        Mail.app        System Preferences.app
ClamXav.app     Maps.app        TextEdit.app
Contacts.app        Messages.app        Time Machine.app
DVD Player.app      Mission Control.app TotalTerminal.app
Dashboard.app       Notes.app       Utilities
Dictionary.app      Photo Booth.app     Xcode.app
Evernote.app        Preview.app     iBooks.app
Evernote.appdownload    QuickTime Player.app    iTunes.app
FaceTime.app        Reminders.app
macmini:Applications tak$ mv SourceTree.app /tmp/   // ←tmpに退避
macmini:Applications tak$ brew cask install sourcetree
==> Downloading http://downloads.atlassian.com/software/sourcetree/SourceTree_1.
######################################################################## 100.0%
==> Linking SourceTree.app to /Applications/SourceTree.app
==> Success! sourcetree installed to /opt/homebrew-cask/Caskroom/sourcetree/1.7.
macmini:Applications tak$ ls /Applications/
Alfred.app      Font Book.app       Safari.app
App Store.app       FormatMatch.app     ScanSnap
Automator.app       Game Center.app     Skitch.app
Calculator.app      Image Capture.app   SourceTree.app // ←できた
Calendar.app        KeyRemap4MacBook.app    Stickies.app
CheatSheet.app      Kobito.app      Sublime Text 2.app
Chess.app       Launchpad.app       SugarSync.app
Chocolat.app        Mail.app        System Preferences.app
ClamXav.app     Maps.app        TextEdit.app
Contacts.app        Messages.app        Time Machine.app
DVD Player.app      Mission Control.app TotalTerminal.app
Dashboard.app       Notes.app       Utilities
Dictionary.app      Photo Booth.app     Xcode.app
Evernote.app        Preview.app     iBooks.app
Evernote.appdownload    QuickTime Player.app    iTunes.app
FaceTime.app        Reminders.app
macmini:Applications tak$ 

これも起動させてみます、、あれ、2つ出てきた。
Kobito_と_App_Store_と_アプリケーション-2.png

どうやら/tmp/に移動させたものが残ってしまうようです。/tmp/のSourceTree.appを削除して、長押し→×で削除して1つになりました。

自動updateするタイプのアプリはどうなるのか?

続いてkobitoも入れ替えます。

macmini:Applications tak$ pwd
/Applications
macmini:Applications tak$ rm -rf Kobito.app/
macmini:Applications tak$ brew cask install kobito
==> Downloading http://kobito.qiita.com/download/Kobito_v1.8.2.zip
######################################################################## 100.0%
==> Linking Kobito.app to /Applications/Kobito.app
==> Success! kobito installed to /opt/homebrew-cask/Caskroom/kobito/1.8.2

2013/12/2現在、Kobitoの最新バージョンは1.8.4なので、古いバージョンが入りました。
Kobitoには更新のチェック機能があるのでそれで1.8.4に更新すると、homebrew-caskでインストールされた/opt/homebrew-cask/Caskroom/kobito/1.8.2/ の中が1.8.4で更新されているようです。これちょっと気持ち悪いですがそれほど支障はありません。

# homebrew-caskで入れた直後
$ ls -la /opt/homebrew-cask/Caskroom/kobito/1.8.2/Kobito.app/Contents/MacOS/Kobito 
-rwxr-xr-x  1 tak  staff  1295376  9 10 18:14 /opt/homebrew-cask/Caskroom/kobito/1.8.2/Kobito.app/Contents/MacOS/Kobito
# Kobitoの更新を行った直後
$ ls -la /opt/homebrew-cask/Caskroom/kobito/1.8.2/Kobito.app/Contents/MacOS/Kobito 
-rwxr-xr-x  1 tak  staff  1406944 11 21 15:28 /opt/homebrew-cask/Caskroom/kobito/1.8.2/Kobito.app/Contents/MacOS/Kobito

バージョンがずれているのを見つけたら、 自分で直してpullRequest送るのが良いですよね。後でやりましょう(←忘れるフラグ)

ClamXavは自分自身を「アプリケーションフォルダ」に移動しようとした

空白_Skitch_キャンバス.png
セキュリティソフトだからでしょうか?ここは「今後このメッセージを表示しない」をチェックして黙ってもらいます。
これはAlfredでも同じようなダイアログが出てきます。

caskで入れたアプリをAlfredのサジェストに出す

これも、homebrew-caskのコマンドで提供されています。brew cask alfred linkでAlfredからアプリが見えるようになります。

macmini:~ tak$ brew cask alfred
==> brew cask alfred
manages integration with Alfred; allows applications installed with
homebrew cask to be launched by Alfred by adding the Caskroom to Alfreds
search paths

subcommands:
  status - reports whether Alfred is linked
  link   - adds Caskroom to alfred search paths
  unlink - removes Caskroom from Alfred search paths
macmini:~ tak$ brew cask alfred status
==> Alfred is not linked to homebrew-cask.
macmini:~ tak$ brew cask alfred link
==> Successfully linked Alfred to homebrew-cask.

SugarSyncはcaskにも入ってない?

homebrew-caskにも入っていないものがあり、SugarSyncFormatMatchは見つかりませんでした。FormatMatchはAppStoreからのみの提供みたいなので仕方ありません。SugarSyncはメジャーなのに入っていないので、何か理由があるのかもしれません。

homebrew-caskに引っ越したアプリ

macmini:Applications tak$ brew cask list
alfred          evernote        skitch          totalterminal
cheatsheet      keyremap4macbook    sourcetree
clamxav         kobito      sublime-text
macmini:Applications tak$ 

TotalTerminalとkeyRemap4MacBookは、/Applicationに入りました。それ以外は~/Applicationに入りました。

で、ここまでしてうれしい事あるの?

すでに入ってるアプリを、わざわざhomebrew-caskで入れ直してみました。これで何が嬉しいかというと あまり嬉しい事はありません。 ですが、Macもハードウェアなので何時クラッシュするかもしれず、そんなときに役に立つはずです、、、という風を装ったヤクの毛刈りでした。
ちゃんちゃん。

paming
Android修行中
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした