47
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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もハードウェアなので何時クラッシュするかもしれず、そんなときに役に立つはずです、、、という風を装ったヤクの毛刈りでした。
ちゃんちゃん。

47
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?