IT徒然草

IT関係のことを解説したり一人つらつら書いたり

Raspberry PiにAtomをインストールしよう!

2022/7/14追記:

重要:Atomエディタは公式サイト(https://github.blog/2022-06-08-sunsetting-atom/)により開発終了が表明されました。今後、この記事に書かれていることはあまり参考にはなりません。

はじめに

最初にAtomとは?

AtomとはGitHubが開発したオープンソースのプログラミング用エディタです。シンタックスハイライトや、コード補完、プラグインで拡張することもできます。 GUI技術にElectronが使われています。

ビルドが面倒だな〜と感じる方へ

パッケージを公開しましたので、ぜひご利用ください。

https://github.com/enjoysoftware/atom-unofficial/releases

ダウンロードした後、aptやdpkgを使ってインストールします。

環境

Raspberry Pi 3 Xubuntu 18.04 LTS(おそらく、Raspbianでもできるかと思います。)

Node バージョン8(2019年1月30日現在、バージョン12ですと依存関係のleveldownのビルドの段階でエラーが発生します)

Atomバージョン: 1.40.2 →最新版(1.46以降)をビルドするには、メモリの事情により、ラズパイ3では難しいかもしれません。ラズパイ4ならできそうですが。。。まだ確認できていません。

ラズパイにインストールする手順

ビルドの前に

公式のビルドスクリプトはラズパイ上で正しく動きません。少し前まではビルドをしてくださっている方がいらしゃったのですが、そのリポジトリも削除されてしまい、現段階ではラズパイ用のソースコードが存在しません(していたとしても気づきません)。そのため、筆者がラズパイ上で動くようにスクリプトを修正しましたので、これでラズパイでビルドできるようになります。 早速、cloneしていきましょう。最初にGitが必要なので、Gitをインストールしておいてください。パッケージ名はgitです。

git clone https://github.com/enjoysoftware/atom-unofficial.git #Atomリポジトリ Raspberry Pi対応版を使用

次に、ホームディレクトリに、.npmrcというファイル名でファイルを作成し、以下の内容を追記します。

arch=armv7l

これで、下準備は完了です。

ビルドしよう!

早速ビルドしていきます。 これより後のビルド方法は、公式版ソースコードと変わりません。 以下のコマンドを実行します。依存関係のインストールと、ドキュメントの生成、その他いろいろが行われ、最後にパッケージを作成してくれます。

cd atom
script/build --create-debian-package 

一時間程かかります。時間に余裕にあるときにビルドしましょう。

--create-debian-packageオプションを付けていることにより、debパッケージを作成してくれます。パッケージの出力先は、out/atom-armhf.debです。

インストールしよう!

では、いよいよインストールです。先程にも述べたとおり、パッケージの出力先は、out/atom-armhf.debです。よって、インストールするには、パッケージインストールの専門家「apt」で以下のようにコマンドを実行します。

sudo apt install ./out/atom-armhf.deb

これで、使える状態になりました。Raspbianの左上のメニューやBrisk Menuから、「プログラミング」を選択すると、「Atom」が登録されているかと思います。コマンドで、「atom」と入力して実行するか、メニューから起動します。

筆者が使ってみた感想

うん、良い。ラズパイにとっても、重すぎず、機能も少なすぎず。サクサク動きます。

やっぱり、プログラミングには、「Atom」ですね。

Raspbian上でサクサク動くAtom

終わりに

今回は、パッケージをビルドしてインストール方法をご紹介しましたが、近いうちにパッケージをビルドして、GitHubのリリースページにアップしようと思います。

パッケージを公開しました。→ https://github.com/enjoysoftware/atom-unofficial/releases

ラズパイ&Atomで快適なプログラミングライフを!

参考

Hacking on Atom Core

(C)2020 EnjoySoftware All rights reserved.