こんにちは。iQeda [@iQeeeda] です。
と、最初に詰まってしまう人向けのリポジトリ設定の説明もしています。
ファイアウォール設定
クラウドサービス上で環境構築している場合、
ファイアウォールの設定をしておいてください。
80 番ポート、443 番ポートの開放が必要になります。
AWS の場合は EC2 のセキュリティーグループで設定します。
- HTTP 通信
- EC2 のセキュリティグループで 80 番ポートを許可
- HTTPS 通信
- EC2 のセキュリティグループで 443 番ポートを許可
CentOS に Emacs-26.2 をインストール
インストール
# ec2 インスタンスにログインする
# gcc / make / ncurses-devel をインストール
sudo yum -y install gcc make ncurses-devel
cd /usr/local/src
# emacs-26.2 ダウンロード
sudo wget http://ftp.gnu.org/pub/gnu/emacs/emacs-26.2.tar.gz
sudo tar zxvf emacs-26.2.tar.gz
cd emacs-26.2
sudo ./configure --without-x --with-gnutls=no
sudo make
sudo make install
# PATH が通っていても権限が不十分で別の emacs の方が起動することがある
# それを防ぐために権限を付与する
sudo chmod 777 /usr/local/bin/emacs-26.2
emacs --version
でちゃんとインストールされたか確認してみましょう。
Ubuntu に Emacs-26.1 をインストール
インストール
Ubuntu 環境で Emacs を使いたい方は下記コマンドでインストールしてください。
sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update
sudo apt install emacs26
emacs --version
でちゃんとインストールされたか確認してみましょう。
意図していない Emacs バージョンが起動した場合
シンボリックリンクを作成しなおして emacs
コマンドで起動する Emacs を変更します。
# dpkg -L emacs26 で表示される PATH に移動します
# 以下は /usr/bin の場合です
cd /usr/bin
# おかしいシンボリックリンクを削除
sudo unlink emacs
# シンボリックリンクを設定しなおす
sudo ln -s emacs-26.1 emacs
詳しいシンボリックリンクや PATH の解説は、
Mac 環境に Emacs をインストールする記事でも説明しています。
パッケージを使えるように設定しておく(CentOS/Ubuntu 共通)
.emacs ファイルは使わない
知らない間に .emacs
という設定ファイルを作られていることがあります。
基本的に ~/.emacs.d/init.el
というファイルに Emacs 設定を書きます。
設定が干渉しないように .emacs
があったら削除しておきます。
# 使わない設定ファイルは削除する
rm ~/.emacs
rm ~/.emacs~
init.el にリポジトリ設定する
~/.emacs.d/init.el
に以下を記述してください。
パッケージインストールを使えるようにするための設定です。
;;
;; パッケージ読み込み
;;
(require 'package)
(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)
(package-initialize)
パッケージインストールの方法については以下の記事で解説しています。
HTTPS 通信はトラブりやすい
僕が 「全然パッケージインストールできない!?」って悩んだときの話です。
init.el をコピペするときの注意
~/.emacs.d/init.el
のリポジトリの設定ですが、リポジトリの URL が
http://
じゃなくて https://
になっていることがあります。これだと HTTPS 通信できる環境が整っていないとエラーになります。
;;
;; パッケージ読み込み
;;
(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)
以下の状況に遭遇したらリポジトリ URL を再確認
M-x package-refresh-contents
のあとM-x package-list-packages
- リストに何も反映されない!
- パッケージインストールでエラー
could not create connection to melpa.org:443
などが発生
おそらく HTTPS 通信をしようとして失敗しています。
HTTP 系のリポジトリだけ登録していれば問題は起こらないはずなので、
駆け出しエンジニアは無理せずにこのやり方でいいと思います。
関連記事
Emacs ロードマップ
Emacs 操作方法
Emacs カスタマイズ方法
参考
お仕事ください!
僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。 なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。
カテゴリ「AWS」の最新記事
コメント