(2019 7/13 追記)
※ 私のブログで Ubuntu も含め、もう少しわかりやすい記事にしました
EC2 に Emacs-26.1 を導入してパッケージを扱えるようにするまでの手順
初心者には割と鬼門なのに調べてもあまり載っていなかったので
環境
- Amazon Linux 2 AMI (HVM), SSD Volume Type
- emacs-26.1
セキュリティグループ
HTTPS でリポジトリからパッケージインストールする場合は EC2 のセキュリティグループでポート 443 を許可しておいた方がいいですが、環境設定がラクなので今回は HTTP でパッケージインストールする方法を試してみます
インストール
# gcc / make / ncurses-devel をインストール
sudo yum -y install gcc make ncurses-devel
cd /usr/local/src
# emacs-26.1 ダウンロード
sudo wget http://ftp.gnu.org/pub/gnu/emacs/emacs-26.1.tar.gz
sudo tar zxvf emacs-26.1.tar.gz
cd emacs-26.1
sudo ./configure --without-x --with-gnutls=no
sudo make
sudo make install
# パスが通っていても権限を与えておかないと他の emacs が起動することがあるので注意
sudo chmod 777 /usr/local/bin/emacs-26.1
知らない間に設定ファイルが作られていることがあるので、あったら干渉しないよう削除しておきます
rm ~/.emacs
rm ~/.emacs~
パッケージを設定する
-
M-x package-refresh-contents
のあとにM-x package-list-packages
してもリストに何も反映されていないとき - パッケージのインストールを行うとき
could not create connection to melpa.org:443
など発生するとき
HTTP 系のリポジトリを登録しておけば前者後者どちらの問題も解決します
~/.emacs.d/init.el
;;
;; パッケージ読み込み
;;
(require 'package)
;; HTTPS 系のリポジトリ
;; (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
;; (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
;; (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/") t)
;; HTTP 系のリポジトリ
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
(add-to-list 'package-archives '("ELPA" . "http://tromey.com/elpa/") t)
;; marmalade は HTTP アクセスすると証明書エラーでフリーズするので注意
;; (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
(package-initialize)