Re:VIEW Starterの執筆環境をWindows上に構築する手順とその右往左往

こんにちは、矢野です。

はじめに

先日の技術書典7で頒布した「Three.jsとTensorFlow.jsで作るモーションキャプチャ3Dゲーム」からRe:VIEW(Re:VIEW Starter)の利用を始めました。

Re:VIEWは同人技術書まわりでは使っている方が多いであろう組版ツールで、うちは今回、Re:VIEWのベースになっているTEXの知識なしで簡単に使えるRe:VIEW Starterを利用しました。

Re:VIEWを使うのメリットは、執筆作業が基本テキストなので、普段のコーディングと同様にコードをGitで管理し、執筆にしろ校正作業にしろ、GitやGitHubの機能をフル活用して共同作業ができることです。

技術書を書く人たちは普段からGitを利用したワークフローに慣れている他、このワークフローと執筆作業の相性がとても良いこともあって、自分たちも採用したわけです。

とは言え、私自身は非エンジニアであり、普段はGitもGitHubもほとんど利用しないため、Re:VIEWの価値は感じつつもしばらくは触れずにいました。

ただ、自分の担当である印刷所への入稿をするにあたって自分でも環境を構築したくなり、チーム内で独りWindowsな環境でありながら手探りでRe:VIEWが動く環境を構築しました。

今日はそのメモを書き残しておきたいと思います。

Dockerを利用

Re:VIEWは組版部分を担当するTEX、Re:VIEWを機能させるためのRubyが機能すれば動くため、それぞれに沿った手順がネット上に転がっていました。

私は当初下記の手順に沿ってTEXやRubyをインストールしてRe:VIEWの環境を作ったのですが、チームメンバーの環境で生成したPDFと同じ感じになりませんでした。どうもフォントが違う。。。

頑張ればこの環境でもメンバーと合わせることはできたとは思うのですが、その気力はなく、そもそもメンバーはDockerを利用して環境構築をしていたことをこのタイミングで知ったため(最初に確認するべきだった)、メンバーと合わせてDockerイメージを利用して環境を構築することにしたわけです。

右往左往

そこで試したのがこちらの手順です。

この手順はDockerを動かすためにまずはWSL(Windows Subsystem for Linux)を動かし、その上でRe:VIEW Starterのイメージを動かす流れなのですが、同じ流れで試したところ、下記のようなエラーが出てしまい、なにやらDockerがうまく動かない。

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:303: getting the final child's pid from pipe caused \"EOF\"": unknown.

よくよく調べてみると、下記のように書かれた記載がありました。

WindowsのInsider Previewビルドをインストールし、このチュートリアルhttps://docs.microsoft.com/en-us/windows/wsl/wsl2-installに従うことをお勧めします
参考:https://github.com/microsoft/WSL/issues/4385

WSLの知識はほとんどありませんが、まだまだ発展途上な環境なのですかね。さすがに自分のWindows環境にInsider Previewビルドをインストールする気にはなれず、別の手段を探すことになります。

で、次に登場したのがDocker for Windowsを利用した手順です。

その結果、Docker for Windowsは無事に私の環境でも動作し、Re:VIEW Starterもちゃんと動き、チームメンバーと同じ環境で書籍データを生成できるようになりました。良かった。

ざっくりと構築手順

こうした手順はなんでもそうだとは思いますが、分かってしまえば黙々と手順を踏むだけです。私は結局、自宅で利用しているThinkPadに環境を作った後、オフィスに置いてあるデスクトップPCにも環境を構築しました。

1. GitHub Desktopのインストール、リポジトリをクローン
下記よりダウンロードして利用します。インストーラーではなく、直接実行するexeファイルをダウンロードするイメージです。

あとはまあ、画面の案内に従って執筆に利用しているRe:VIEW Starterのプロジェクトリポジトリをクローンします。

2. Hyper-Vを有効にする
「設定」⇒「アプリと機能」⇒「プログラムと機能」⇒「Windowsの機能の有効かまたは無効化」⇒「Hyper-V」にチェックを入れてOK

3. CPUの仮想化をBIOSで有効にする
「タスクマネージャー」⇒「パフォーマンス」からCPUの仮想化が有効になっているか確認することができます。BIOS上での設定方法はPCによって異なりそうなので割愛。

4. Docker for Windowsをインストール
Install Docker Desktop on Windows」⇒「Download from Docker Hub」からインストーラーをダウンロードして実行(アカウント作成が必要です)

5. コマンドプロンプトからRe:VIEW Starterのイメージをdocker pull

docker pull kauplan/review2.5

6. ローカルフォルダを共有
Re:VIEW StarterのDockerコンテナ内からローカルフォルダに落としてある執筆内容を参照できる必要があるため、下記記事を参考にローカルフォルダを共有します。

7. Docker再起動

8. 起動、そしてPDF生成
この辺は私の好みではあるのですが、一度Dockerコンテナ内に入ってからPDFを生成していました。

docker run -v /c/Github/:/data/workspace/ -it kauplan/review2.5 /bin/bash
rake pdf

9. あとは適当に遊ぶ
環境ができると面白くなり、印刷所に印刷データを入稿した後、電子書籍用にあれこれとレイアウトを修正したりしました。今回の書籍の物理本はB5サイズでしたが、電子書籍版はA5サイズにして余白を変更したりとかですね。なかなか楽しいものです。

まとめ

今回の件があるまで、私はRe:VIEWどころかGitHubもまともには触ったことがありませんでした。業務上のコミュニケーションのためにWebからGitHubを触ることはあっても、せいぜいコメントを書く程度です。

それが今回、Re:VIEW Starterを使って遊ぶために、GitHubやRe:VIEW、Dockerをあれこれと触ることになり、ほんの上っ面だけですが、それぞれの面白さを知った気がします。

コピペテックとして提供したのは「Three.jsとTensorFlow.jsで作るモーションキャプチャ3Dゲーム」だったわけですが、私は副産物としてRe:VIEW Starter周りでコピペテックを楽しんだような感じです。

なんでも触ってみるもんですね。

この記事が気に入ったらサポートをしてみませんか?