2015年3月17日火曜日

Github製テキストエディタatomをLubuntu(32bit)でソースコードコンパイル

Twitterで「今すぐSublime Text を消してAtom をダウンロードすべき5つの理由」というリンクをクリックして見てみたら、Markdownがリアルタイムでレンダリングされると書いてあったので、早速入れることにしてみた…

atomのGithubレポジトリを開いたら、どのバージョンも、64bitのみのバイナリパッケージの配布、とあった。



Windowsには入れて試したくないので、仮想環境のLubuntu(32bit)に入れたかったが、64bitを落としてきても、アーキテクチャで警告が出されてインストールができない。

ソースを公開しているので、自分でコンパイルすることは出来るみたい。

仕方がないからやってみて、失敗したら諦めようとした。その経過と結果をブログにまとめることにしました。

結論からいうと、動きました。いや、動くようにしました。さらに、32bit用のバイナリパッケージを生成できるので、次回以降は楽。

では、辿って行きましょう。

1. まず、atomのGithubレポジトリの下の「Building」から「Linux」を選びます。

2. 書いてある必要条件をすべて入れましょう。以下のものを入れます。
  • build-essential
  • git
  • libgnome-keyring-dev
  • fakeroot
追加で以下も入れます(書いてないけど、入れないとコンパイルできない)
  • nodejs
  • npm
インストール方法は、おなじみのsudo apt-get install パッケージ名…

3. インストールが終わったら、まず、npm(Nodejs Package Manager)のバージョンをあげます。デフォルトでは、バージョン1.3.xxが入ってくるので、1.4.0以上にします。
  • sudo npm update (npmコマンドで更新情報を取得し)
  • sudo npm install npm -g (npmコマンドで自分自身を更新します、-gは結果だけ表示させるため)
4. 下準備が完了。gitコマンドでatomのソースをクローンします
  • git clone https://github.com/atom/atom (atomフォルダが作成される)
  • cd atom (atomフォルダにディレクトリを移ります)
ここで、自分は$HOMEに仮ディレクトリを作成してそこに上のコマンドを実行しました。どこで、クローンしても同じです。コンパイルしてしまったらあとは、要りません。※1

5. クローンしたレポジトリを更新します

  • git fetch -p (リモートレポジトリから更新を取ってくる)
  • git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
2番目のコマンドは、git checkoutだけでいいような気がするんですよね。。。僕は、いろいろ出てきてとりあえず、重大なエラーじゃなさそうだからということで、素通りしました。

6. いよいよ、ビルドします
  • sudo script/build
ワーキングディレクトリ(pwd)はatom/内でやります。後ほどそのディレクトリにいないと先に進みません。
このコマンドを実行することにより、$TMPDIRすなわち、/tmpにatom-build/Atomというディレクトリが作成されて、とにかくビルドで使ったファイルがたくさん作られます。

7. gruntを使って、atomとapmを/usr/local/binにインストールします
  • sudo script/grunt install
もし、エラーが出たら、pwdを打ってscript/ではなく、atom/にいることを確認して下さい。gruntの構成ファイルがatom/にはあるようです。installのあとにインストール先のディレクトリをしていすることができるみたいです。
  • sudo script/grunt install --install-dir インストールしたい先の絶対パス
8. インストールは終わったので、/usr/local/binにパスが通っていれば、実行はできます。※2

9. debのバイナリパッケージの作成

ビルドしたのはいいけど、毎回するのは時間かかるし、いやです。gruntのコマンドに、mkdebというコマンドがあり
  • sudo script/grunt mkdeb
を実行すると、$TMPDIR/atom-build/に.debで終わるファイルが作成されます。これが、バイナリパッケージです。

実は、script/buildのあとは必要なく、9番を実行すると、/usr/local/binにインストールするのではなく、パッケージマネジャー経由でインストールをすることができるのです。

補足:
※1:
バージョンアップなどのアップデートはパッケージマネージャーはしてくれません。バージョンアップがあるかどうかを、クローンしたディレクトリで、git fetch -pをして最新版を取得し、再度ビルドする必要があります。

※2:
ターミナルでatomを実行すると、白い画面で、下のコンソールに赤くエラー見たいに見えるかもしれません。その状態に出くわしたら以下のように回避しましょう。
$HOMEディレクトリにディレクトリを移り、root権限になっている隠しフォルダ.atomを自分自身に所有権を変更します
  • sudo chown user:user -R ~/.atom (-Rは再帰的にディレクトリに適用するという意味です)
また起動してみましょう、今度はちゃんと黒い背景のエディタが見えたと思います。

Markdownのリアルタイムレンダリングは、Ctrl + Shift + Mで右に表示されます。


0 件のコメント:

コメントを投稿