Edited at

Re:VIEW環境をWindows10上で簡単に構築してPDFを出力するまで


概要

はじめてRe:VIEWを導入する方、且つ、Windows10ユーザーの方、を対象に「とりあえずPDFを作れる環境を構築する」までの手順を記載します(RubyもLaTexも不要で所要1hほど)。

Windows 10(Home含む)環境にて、WSL上にDockerイメージ経由でRe:VIEWコンパイルを行います。これにより、LaTeXやRubyの(ネイティブ)セットアップを不要とできます。

なお、内容としては当方の次の過去記事と同様です。ただし、切り取り方を「背景はさておき、PDFを作れる環境を構築する」に変えたのがこの記事です。


環境構築の所要時間

本記事に記載の手順を実行する所要時間は、インターネット回線の速度に依存しますが、ダウンロードの実効速度が10~30Mbpsの環境で1h程度です。その大半は、ダウンロード時間です。


大まかな手順

次の手順で、Window10へRe:VIEW環境を導入します。


  1. Ubuntu on WSL (=Windows Subsystem for Linux) をセットアップ

  2. Re:VIEW image for Docker をセットアップ

  3. テクブさん(Teckboosterさん)のテンプレートをコンパイルしてサンプルPDF作成


動作環境

動作検証した環境は以下です。


  • Microsoft Windows 10 Home (10.0.17134)


    • Windows 10 April Update 2018 適用済み。



  • メモリ:4GB

環境構築に必要なストレージの空きスペースは以下です。


  • ストレージ内に最低でも3.2GB以上の空き領域。


    • Windows Subsystem for Linuxをインストールすると1GBと少し使用します。

    • Re:VIEW image for Dockerをインストールすると2GB前後を使用します(Re:VIEW 2.5、3.1で確認)。



なお、実行時のメモリ使用量は、0.1GB程度です。


§1. Ubuntu on WSL のセットアップ

※過去記事の「Windows Subsystem for Linux のセットアップ」節と全く同じです。


WSLの機能を有効化

以下の操作で、WSLを有効化します。


  1. スタートメニューの「設定」から「アプリと機能」を開く

    スクリーンショット 2018-07-22 01.07.44-a.png


  2. 下の方へスクロールして「関連設定」の「プログラムと機能」を開く

    スクリーンショット 2018-07-21 09.23.03-a.png


  3. 「Windowsの機能の有効化または無効化」を開く


  4. 「Windows Subsystem for Linux」にチェックを入れる

    スクリーンショット 2018-07-21 09.23.25.png


  5. WSLのインストールが始まるので、終了したら「今すぐ再起動」をクリックして再起動する


※WSLのインストール自体はすぐ終わります。再起動後に「インストールしています・・・」などの追加処理はありません。


Ubuntu 16.04のインストール

つづいて、WSL環境の上で実際に動作するLinuxディストリビューションアプリをインストールします。「Ubuntu 16.04 LTS」を取得します。具体的には以下の操作を行います。


  1. 再起動後、スタートメニューから「Microsoft Store」を選択し、検索ボックスに「Ubuntu」を入力して「Ubuntu 16.04 LTS」を選択する

    スクリーンショット 2018-07-21 09.30.46-a.png


  2. 「入手」ボタンをクリックして(ダウンロード&)インストールする

    スクリーンショット 2018-07-21 09.31.09.png



  3. インストールが完了すると、Ubuntuの初期設定としてユーザー名とパスワードを聞いてくるので、Linux(Ubuntu)上で利用するユーザー名とパスワードを入力する


    • ※ここで入力したパスワードは、今後も入力する場面が多いので覚えておく。
      スクリーンショット 2018-07-21 09.37.05-a.png



  4. 初期設定が完了すると、Ubuntu on WSLのコマンドプロンプト(ターミナル)が表示される

    スクリーンショット 2018-07-21 09.37.43-a.png


以上で、Docker for UbuntuをWindows10上で利用するための準備「Ubuntu on WSL」環境のセットアップが完了しました。


§2. Re:VIEW image for Docker をセットアップ


Docker for Ubuntu on WSLをインストール

先ほどまでの手順で準備した「Ubuntu on WSL」環境に対して、次の手順でDocker for Ubuntu をインストールします。


  1. 「スタートメニュー>Ubuntu」を選んで(もしくは検索ボックスに入力して検索)、右クリックします

  2. 「その他>管理者として起動」を選択します

  3. 開いたUbunutのコマンドライン上で、次のコマンドを実行します

sudo apt update

sudo apt upgrade
sudo apt install docker.io
sudo cgroupfs-mount
sudo usermod -aG docker $USER
sudo service docker start

※パスワードを要求された場合は、先ほどの「Ubuntuの初期設定」で設定したパスワードを入れます。

次のように画面表示で、Dockerの取得とインストールが進みます。

スクリーンショット 2018-07-21 09.53.30.png

スクリーンショット 2018-07-21 10.05.02.png


  1. 上図のようにコマンドラインが入力街に戻ったら、コマンドライン上で「exit」を入力し、Ubuntu on WSLをいったん終了します

  2. 「スタートメニュー>Ubuntu」を選んで、Ubuntu on WSLを改めて起動します(※この場面では、管理者権限での起動は不要です)

  3. dockder が正しくセットアップされたの確認のため、次のコマンドを入力してHello Worldのイメージを起動します

docker run hello-world

スクリーンショット 2018-07-21 10.11.17-hello-docker.png

上図のように「Hello from Docker!」が表示されれば成功です。


Re:VIEW image for Dockerの取得

続いて、「Re:VIEW image for Docker」を取得します。

これは「必要なコマンドや動作環境を、簡単に導入できるようまとめたパッケージ」と捉えてください。

先の「Hello World」を実行したコマンドライン上で、次のコマンドを実行します(※2019/05/08時点で最新のVer.3.1を指定)。

※パスワードを要求された場合は、先ほどの「Ubuntuの初期設定」で設定したパスワードを入れます。

sudo docker pull vvakame/review:3.1

イメージのダウンロードが終わるのを待ちます。

docker-image2.png

ダウンロードが終わりましたら、動作確認を目的に、次の操作を行います。

具体的には、WSLのコマンドライン上で先の「pull ~」に続けて、次のコマンドを実行します。


  1. 作業用のフォルダ「D:\repo-doc」を作成します(※パスは任意に変更可能。変更した場合、以降は読み替え)。


    • このフォルダ配下に、プロジェクトごとのフォルダ(PDFの作成単位)を作成します。



mkdir /mnt/d/repo-doc


  1. dockerイメージを利用して、reviewのサンプルファイルの作成とコンパイル(PDFの作成)を行います。

docker run -v /mnt/d/repo-doc:/work -it vvakame/review:3.1 /bin/sh

コマンドラインの表示が微妙に($#)切り替わりますが(WSL上からdockerコンテナ上に切り替わる)、気にせず続けて次のコマンドを実行します。

cd /work

review-init review-sample
cd review-sample
review-pdfmaker config.yml
exit

※上記をコピペで一気に入力すると、表示の順序の異なる場合がありますが、気にしなくてよいです。気になる場合は、一行ずつ入力してください。

最後で、コマンドラインの表示が微妙に(#$)切り替わりますが(dockerコンテナから抜ける)、気にしないでください。

docker-image3-pdfmaker.png

Windows上のExplorerでDドライブのルートにある「repo-doc」フォルダを開きます。中に「review-sample」というフォルダが作成され、フォルダ内に「book.pdf」ファイルが生成されていることを確認してください。このpefファイルが、「review-sample」のReviewドキュメント(review-sample.re)から作成されたpdfです。

以上で、Windows10上で、(Ubuntu on WSL上にUbuntus for DockerRe:VIEW image for Dockerを用いて)Re:VIEWのreviewコマンドによるPDF作成を行う環境構築が完了しました。

次のコマンドを打ち、WSLを抜けて通常のコマンドラインに戻ります。コマンドラインはそのまま閉じてください。

exit

ここまでの作業は初回のみです。

普段の作業「Re:VIEWファイル(*.re)を書く→PDFファイルに出力する」は、次の節の「§3」からになります。


§3. テクブさん(Teckboosterさん)のテンプレートをコンパイルしてサンプルPDF作成

テクブさん(Teckboosterさん)のテンプレートを用いて、書籍用(同人誌などの製本用)のPDFを作成します。

※ここでテクブさんのテンプレを使うのは、単に筆者の好みです。


TechBooster/ReVIEW-Templateを取得

次のURLのページを開き、「clone or download」>「Download ZIP」からテンプレートをZipファイルで取得します(Gitが分かる方は、Cloneして構いません)。

https://github.com/TechBooster/ReVIEW-Template

review-techbooster-template.png

取得したZipファイルを展開します。ここでは、「D:\repo-doc\ReVIEW-Template-master」に展開したものとして話を進めます。なおフォルダ名は任意に変更可能です。変更した場合は、以降は読み替えてください。

この時点で、D:\repo-doc\ReVIEW-Template-master\articles 配下にはPDFファイルがまだありません。


article.reをreviewコマンドでコンパイルしてPDFファイルを作る

D:\repo-doc\ReVIEW-Template-master\articles 配下にある article.re がPDF作成のもとになるテキストファイルです。

1つ上のフォルダ「D:\repo-doc\ReVIEW-Template-master」でコマンドラインを開きます。※通常のコマンドラインで、WSLではありません。

コマンドライン上で、次のコマンドを実行します。wslコマンド実行で、表示が微妙に変わりますが気にしないでください(WSL上に入った)。

wsl

docker run --rm -v `pwd`/articles:/work vvakame/review:3.1 /bin/sh -c "cd /work && review-pdfmaker config.yml"


「Cannot connect to the Docker」のエラーが出る場合

先のコマンドの実行時にもし次のようなエラーが出る場合があります。

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

See 'docker run --help'.

その際は、次の操作を行います。


  1. 「スタートメニュー>Ubuntu」を選んで(もしくは検索ボックスに入力して検索)、右クリックします

  2. 「その他>管理者として起動」を選択します

  3. 開いたUbunutのコマンドライン上で、次のコマンドを実行します

sudo cgroupfs-mount && sudo service docker start

docker-pdfmaker2.png

実行を終えたら「exit」と打ち、後から開いたUbuntuコマンドライン閉じます。先のWSL上のコマンドラインに戻り、改めて、次のコマンドを実行します。

docker run --rm -v `pwd`/articles:/work vvakame/review:3.1 /bin/sh -c "cd /work && review-pdfmaker config.yml"


reviewコマンドによるPDF作成結果

正常に「docker ~(中略)~ review-pdfmaker」コマンドが終了すると、次の図のようになります。

docker-pdfmaker4.png

D:\repo-doc\ReVIEW-Template-master\articles フォルダ配下に、PDFファイル「ReVIEW-Template.pdf」が作成されていることを確認してください。

以降、article.re ファイル他に文章を書き足したら、先の節「article.reをreviewコマンドでコンパイルしてPDFファイルを作る」を再実行することで、PDFファイルを再作成できます。

なお、「wsl」コマンドを一度打った後は、「exit」コマンドを実行するまでは、「wsl」は省略して「docker ~(中略)~ review-pdfmaker ~(略)」のみでPDF作成を行えます。

以上です。


余談

re:view windows10」で検索すると、「LaTex+Rubyをインストールして」という正攻法の記事がヒットする。その方法でも構わないのだけれど、LaTexやRubyは環境依存でハマることがあるので、その辺りの「環境依存を回避しやすい」Docker使う方法を纏めたくなって、まとめてみた。

なお本記事は、2019/05/10時点のWSLを前提としている。

今月2019/05月末に「WSL2が出る」との噂話なので、そちらだと変わるかも知らん?でも操作としては「Docker for Ubuntuでの標準操作」と同一なので、変わらない可能性が高い、かな?


参考サイト