Qiita Conference 2025

tenntenn (@tenntenn)

好奇心を原動力に行動するソフトウェアエンジニアになるために

26
30

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-caskでMacOSのパッケージ管理をする

Last updated at Posted at 2015-05-06

複数台のMacを管理するのにあたって、GUIのアプリのインストールとその後のアップデートを一気に行うツールがないかを探していたところ、homebrew-caskというhomebrewの拡張を見つけました。そこでこれらを自分のMacに導入した時のメモをまとめます。

準備

Xcode Command Line Toolのインストール

homebrewやhomebrew-caskを動かすためにはXcode Command Line Toolが必要なので導入しました。以下からダウンロードできます。
https://developer.apple.com/downloads/index.action

OS毎に異なるのでOSに合わせたものを導入します。
これはGUIでないとインストールできないようですが、もしコマンドラインからダウンロード&インストールの仕方をご存知の方は教えていただけると幸いです。

homebrewとhomebrew-caskをインストール

Xcode Command Line Toolが入ったので、次にhomebrewとhomebrew-caskを導入します。

なおこのページでは特に断りがない場合、行頭の%はプロンプトを示します。実際にコマンドを入力する時はプロンプト以降を入力してください。

% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brew install caskroom/cask/brew-cask

homebrew-fileをインストール

homebrewやhomebrew-caskでインストールしたパッケージを管理できるように、homebrew-fileをインストールします。これを使うことでgithubに置いたBrewfile(brew用のMakefileのようなもの)との連携も可能となります。

% brew tap rcmdnk/file
% brew install brew-file

homebrew-versionsをインストール

homebrew-caskを入れただけでは、Adobe ReaderやFirefoxなどは英語版が入ってしまいます。しかしこのhomebrew-versionをインストールしておけば、日本語版を入れることができるようになります。

% brew tap caskroom/homebrew-versions

上記作業後にインストール可能パッケージを調べると、例えばAdobe Readerの場合だと以下のように日本語版Adobe Reader(adobe-reader-ja)がインストールできます。

% brew cask search adobe-reader
==> Exact match
adobe-reader
==> Partial matches
adobe-reader-de	  adobe-reader-fr   adobe-reader-ja   adobe-reader-pt

環境設定

アカウントを追加してもインストールしたパッケージが利用できるように、パッケージを~/Applicationではなく/Applicationからのシンボリックリンクにするため、以下の設定を行いました。

% export HOMEBREW_CASK_OPTS=--appdir=/Applications

パッケージの導入

brew caskコマンドでパッケージを導入していきます。なおインストール済のパッケージをbrew caskで導入しなおす場合は、アプリケーションフォルダ内のファイルを削除してアンインストールしておくのがよさそうです。

実行方法
% brew cask install [パッケージ名]
実行例
% brew cask install adobe-reader-ja

このように必要なパッケージをインストールします。
インストール後、以下の作業を行います。

github側の準備

githubのアカウントを作る

githubのアカウントを持っていなかったので、この作業にあたって作ることにしました。すでに持っている人はスキップしてください。

githubに公開鍵を登録する

githubにsshでアクセスする場合、github上に自分の公開鍵を登録する必要があります。ssh-keygenコマンドで作成します。これもすでに実施済の方はスキップしてください。

% cd
% ssh-keygen
% cat .ssh/id_rsa.pub

githubの管理画面から、Settings→SSH keys→Add SSH keyとクリックします。
github_ssh.png

Title欄は任意の名前、Key欄にcat .ssh/id_rsa.pubの内容をコピー&ペーストします。
github_ssh_02.png

Brewfileを入れるためのレポジトリを作る

githubのWeb画面にログインして、Brewfileを保管するためのレポジトリを作成します。今回は"hBrewfile"というレポジトリを作りました。

レポジトリの初期化を行う

レポジトリの初期化をするために以下のコマンドを実行します。
レポジトリ名はhBrewfileとしました。

% echo "# Brewfile" >> README.md
% git init
% git add README.md
% git commit -m "first commit"
% git remote add origin https://github.com/s5601026/hBrewfile.git
% git push -u origin master

空のBrewfileをgithubのBrewfileレポジトリに登録する。

下記のようにコマンドを実行します。

% brew file set_repo -r [githubのユーザ名]/[レポジトリ名]

私のgithubのユーザ名はs5601026、レポジトリ名はhBrewfileなので以下のようになります。

% brew file set_repo -r s5601026/hBrewfile

Brewfile編集

以下のコマンドでBrewfileを編集します。初めて実行した場合は内容が空かと思いますが、その時はそのまま終了させてください。

% brew file edit

そして内容が空の場合は、以下のコマンドを実行して現在の状態を反映させます。

% brew file init

これで準備完了です。

運用

普段の運用では以下のような作業を行います。

パッケージのアップデート

homebrewとhomebrew-caskで入れたパッケージのアップデートは以下のように行います。

% brew file update && brew file cask_upgrade -C

最新版のみ残す場合はcask_upgradeの後に-Cをつけます。

なお、古いバージョンも残す場合は以下のコマンドを利用します。

% brew cask update

パッケージのアンインストール方法

以下のコマンドでパッケージのアンインストールができます。また、brew file editを実行して、アンインストールしたパッケージの記載を削除します。

% brew cask uninstall [パッケージ名]
% brew file edit

homebrew-caskでインストールできる導入済パッケージの一覧作成

以下のコマンドで、すでにGUIでインストールして導入済だがhomebrew-caskでインストール可能なパッケージの一覧がわかります。

% brew file casklist

結果は~/Caskfileに記載されるので、lessコマンドなどを使って中身を見ましょう。

% less ~/Caskfile

感想

homebrew-caskもhomebrew-fileも、とても使いやすくてイイですね!私は元々FreeBSDやCentOS等のUNIX系OSを触っていたので、MacOSも(ある程度)それと同じような感覚で管理できるのはすばらしいと思いました。

謝辞

実施にあたってはhomebrew-caskだけでは実現が結構面倒だったと思われますが、homebrew-fileのおかげで少ない労力で実現しました。homebrew-fileを作成されたrcmdnkさんに感謝いたします。

参考資料

http://joker.hatenablog.com/entry/2014/11/09/014607
http://joker.hatenablog.com/entry/2015/01/28/123159
http://rcmdnk.github.io/blog/2014/08/26/computer-mac-homebrew/
http://rcmdnk.github.io/blog/2014/09/01/computer-mac-homebrew/
http://brew.sh/index_ja.html
http://www.task-notes.com/entry/20150316/1426474800
http://qiita.com/yaotti/items/a8e9f5de8dcca81d3214

26
30
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

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
26
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?