若葉の技術メモ

コンピュータやプログラミングに関して調べたり、取り組んだりしたことをまとめる若葉のノート📓。コンピュータ・プログラミング初めてって方も一緒に勉強していきましょう!初心は大事!いつでも若葉☘のような意気込みで!

  • No.   

若葉の技術メモ

コンピュータやプログラミング・数理に関して調べたり、取り組んだりしたことをまとめる若葉のノート。

コンピュータ・プログラミング・数理が初めてって方も一緒に勉強していきましょう!

初心は大事!いつでも若葉☘のような意気込みで!

【Chromebookでカッコいいエディタを入れたい人必見!】Emacs26.1をChromebookに導入する方法!

Emacs26.1。

2018年5月にリリースされたバージョンのEmacs

ステキなキーバインドカスタマイズの容易さから人気を集めている高機能エディタ

以前の記事でChromebookEmacsを導入する方法

をご紹介しました。ですが、こちらの記事ではEmacsを単純にapt-getで導入していたので、残念ながらバージョンは24.5.1と比較的古いバージョンのEmacsが入っていました

そこで今回の記事では一番最新(2018/12時点)のEmacsChromebookに入れる方法をご紹介します!

※この記事の内容をご自身で試す場合には自己責任でお願いします


Emacsとは

GNU Emacs - GNU Projectf:id:wakaba-mafin:20181108110929p:plain:w200:right

まず、Emacsとは

を持った高機能なテキストエディタで、世界中で愛されています(もちろんvimとの争いは避けられませんが...) 実際にemacsとググっていただければ、そのヒット件数からどれだけ多くのユーザーがいるのか容易に想像できます!

さて、そんなEmacsですが、2016年にv25.1がリリースされてから昨年の間でv25.2・v25.3と徐々に改良されてきましたが、2018年5月にはついにv26.1がリリースされました!

今回は私が愛用しているChromebookでEmacs26.1を導入する方法をご紹介します。

環境

apt-getによるEmacs26.1導入の試み(失敗)

さて、実はEmacs26.1をインストールする方法はたくさん情報が出回っております。

ここでは、その記事の1つ

qiita.com

を参考にさせていただいてapt-getを使ってEmacs26.1を導入する方法をご紹介しましょう!

導入方法

上記の記事で紹介されている手順は至って簡単です。まずはターミナルを開きます。

f:id:wakaba-mafin:20181204181334p:plain

そして、3つのコマンドを叩くだけ。

$ sudo add-apt-repository ppa:kelleyk/emacs
$ sudo apt-get update
$ sudo apt-get install emacs26

Qiitaの@Maizuさん、ありがとうございます。

というわけで、早速私も試してみましょう!

apt-getによるEmacs26.1の導入の実践

まずはレポジトリを加えます。すると...

$ sudo add-apt-repository ppa:kelleyk/emacs
sudo: add-apt-repository: command not found

いきなり怒られてしまいました💦

どうやら、ChromebookのCrositniターミナルではadd-apt-repositoryはデフォルトで入ってないみたいですね。というわけで、調べてみると

askubuntu.com

ふむ。 add-apt-repositoryにはsoftware-properties-commonが必要みたいです! では入れてやりましょう!

$ sudo apt-get install software-properties-common

これで特にエラーもなく入りました!さて、再度レポジトリの追加。

$ sudo add-apt-repository ppa:kelleyk/emacs
This repository contains updated `emacs` packages based on stable releases.
〜ここにはレポジトリに関する長い説明〜
〜中略〜
Press [ENTER] to continue or ctrl-c to cancel adding it

そして、Enterを押して続行すると

FileNotFoundError: [Errno 2] No such file or directory: 'gpg'

エラー(涙)(あまりにもエラー文が長かったので省略しました)。どうやら私のChromebookにはgpgがないみたいですね...とりあえず、サーチ。

www.reddit.com

どうやら、単純にgpg入れろよって感じらしいです。というわけで、

$ sudo apt-get install gpg

これでよし。どうやらログの一部を見てみると、gpgではなく、gnupgとして提供されているようです。

Note, selecting 'gnupg' instead of 'gpg'

さて、ここまででやっとレポジトリが追加できます!再びレポジトリの追加にトライ!

$ sudo add-apt-repository ppa:kelleyk/emacs

ふむ。さきほどと同様にして、

This repository contains updated `emacs` packages based on stable releases.
〜ここにはレポジトリに関する長い説明〜
〜中略〜
Press [ENTER] to continue or ctrl-c to cancel adding it

そして、Enterを押して続行すると

gpg: no valid OpenPGP data found.

またもやエラー。もうそろそろ疲れてきました💦 今度は鍵の問題でしょうか?

askubuntu.com

とEmacs26が入っているレポジトリのPPAのページを参考にしながら、コマンド叩。

$ sudo add-apt-repository --remove ppa:kelleyk/emacs
$ sudo apt update
$ gpg --keyserver keyserver.ubuntu.com --recv 公開鍵ID

ここまでは問題なし。そして、

$ apt-key list

で正しくLaunchpad PPA for Kevin Kellyが追加されたことを確認。

$ sudo apt-get update
$ sudo apt-get install emacs26

をするも...

E: Enable to locate package emacs26

無理。最後のあがきでapt-getではなく、aptでやる方法や

https://hnakamur.github.io/blog/2017/09/02/add-ppa-to-apt-line-without-add-apt-repository/hnakamur.github.io

なども参考にしましたが、結局ダメでした...

何がダメなんでしょうか...

ビルドによるEmacs26.1導入(成功!)

aptapt-getも使えないんやったらビルドだ!

ということで、ここでは最終手段(?)としてビルドする方法について書きます! ChromebookのCrostini TerminalでEmacsをビルドする方法はいたって簡単。

#--- コンパイラなどの準備 ---#
$ sudo apt-get install gcc make ncurses-dev

#--- Emacs公式のダウンロード ---#
## wgetがない人は次のコマンドを先に叩く
## sudo apt-get install wget
$ wget http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-26.1.tar.gz
# 26.1の部分はインストールしたEmacsのバージョンをお好みで。

#--- 解凍 ---#
$ tar xvf emacs-26.1.tar.gz
$ cd emacs-26.1

#--- ビルド ---#
## オプションはお好み
## 私の場合は./configureだけだとXがないやらgnuilsがないやら怒られたので。
$ ./configure --without-x --with-gnuils=no
$ sudo make
$ sudo make install

でOK!あとは

$ emacs --version

でバージョンを確認して、目的のバージョンになっていればOKです!

f:id:wakaba-mafin:20181204181816p:plain

もしバージョンが違ったらpathが通っていないので、which emacsで現在のEmacsの場所を確認して、ビルドしたEmacs(おそらく、/usr/local/binあたりに入っているはず)をその場所にlnかなんかで貼っつけてあげれば完成です!

まとめ

今回の記事では、Emacsの最新版Emacs26.1をChromebookに導入する方法をご紹介しました。

導入の仕方としては

  1. apt-getの活用

  2. ソースからビルドする

の2通りあります。どちらの場合もご紹介しましたが、Chromebookの場合、後者のソースからビルドしちゃう方法の方が早い気がします(前者の方法はいろいろトラブって最終的に入れることができなかった)。

前者の方法はなぜできなかったんですかね?apt-get自体がUbuntuを対象にしていて、ChromebookのCrostiniはDebianだからでしょうか?知っている方がいればご教示いただければ嬉しいです。

ま、何はともあれ、Emacs26.1が入ったんで、Emacs Lifeを楽しみましょう!

間違いのご指摘やご意見・ご質問等ございましたら、ぜひコメントよろしくお願いします!