お米炊けるまで備忘録

プログラミング数年目のがくせい

MacでEmacsにパッケージを導入するまで

VSCodeやらAtomやらばかり使っていて久しくEmacsに触れていなかった間にパッケージの導入方法を完全に忘却していたので備忘録として。

環境

今回の作業環境は以下の通りです。

  • 2017年6月13日時点
  • macOS Sierra 10.12.5
  • Emacs 25.2.1
  • Homebrew 1.2.2
  • Homebrew-Cask 1.2.2

最新版のEmacsのインストー

Macにデフォルトでインストールされているバージョン22のEmacsはパッケージの管理に関する機能が搭載されていないなど、色々と不都合があります。(現時点での最新版は25.2)

f:id:hakumai164:20170613010017p:plain

Homebrew-Caskを使用して最新版のEmacsをインストールします。
“Homebrew"はmacOS用のパッケージマネージャー、"Homebrew-Cask"はHomebrewで扱うパッケージの範囲をGUIアプリケーション等まで拡大したものですが、ここでは詳しい説明は省略します。

$ brew cask install emacs
==> Downloading https://emacsformacosx.com/emacs-builds/Emacs-25.2-universal.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask emacs
==> Installing Cask emacs
==> Moving App 'Emacs.app' to '/Applications/Emacs.app'.
==> Linking Binary 'Emacs' to '/usr/local/bin/emacs'.
==> Linking Binary 'ctags' to '/usr/local/bin/ctags'.
==> Linking Binary 'ebrowse' to '/usr/local/bin/ebrowse'.
==> Linking Binary 'emacsclient' to '/usr/local/bin/emacsclient'.
==> Linking Binary 'etags' to '/usr/local/bin/etags'.
🍺  emacs was successfully installed!

ここで取得したEmacsはそのまま実行するとGUIEmacsが起動してしまうので、CUI版を実行するためには-nwオプションを使用します。

$ emacs -nw

バージョン25のEmacsが導入できました。

f:id:hakumai164:20170613013421p:plain

パッケージのインストー

Emacsを起動し、M-x list-packages を入力し実行します。
利用可能なパッケージの一覧が表示されます。 f:id:hakumai164:20170613015449p:plain

インストールしたいパッケージの行にカーソルを移動し、iキーでマークが付きます。 f:id:hakumai164:20170613020103p:plain

選択後、xキーでインストールを実行します。

パッケージリポジトリの追加

list-packagesで表示されるパッケージは、デフォルトではEmacsの公式リポジトリに含まれているもののみが表示されますが、それとは別に参照する外部のリポジトリを追加することも可能です。
今回は有名なパッケージが多数含まれている"MELPA"というリポジトリを追加します。

設定ファイル~/.emacsを開き、(package-initialize)という記述がある行の直後に以下を追記し、リポジトリを追加します。

;; MELPA-stable
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)

その後、再度Emacsを起動、list-packagesを実行しパッケージ一覧を表示させた後、M-x package-refresh-contents を実行しパッケージリストを更新します。

MELPAに含まれるパッケージをインストールすることが可能になりました。 f:id:hakumai164:20170613024324p:plain

おわり

3年前に似たような事書いた時*1はなんか2,3日かかった気がするんですが、今見たらEmacs22と24の両立とかいうこれ意味あるのかなあ、と感じるような事を書いていたので大人しく最新版を使うのが良いと思います