CUI初心者のためのReVIEWインストール
page2012のReVIEWセミナーに行ってきました。すでにスライドも公開されています。
このセミナーをご覧になって、ReVIEWに興味を持たれた方も多いかもしれません。よし、お父さんインストールしちゃうぞ! と思っている方もいらっしゃるでしょう。
実は、このセミナー終了後にバックヤードでインストール大会やりました。そして、CUI初心者にとっては、ターミナルでインストールするのは案外敷居が高いことに気がつかされました。自転車が乗れる人にとって、乗れなかった頃の難しさが実感できなくなっているなあ、と反省しました。
ってことで、きょうは初めてCUIでインストールする人にも、できるだけわかりやすく解説したいと思います。
環境としてはMac OS X 10.5〜10.7を念頭に置いています*1。また、インターネットに繋がっている環境で行ってください。
おおまかな流れ
ReVIEWクイックスタートガイドにはいくつかのインストール方法が紹介されていますが、今回はSubversionを使った方法です。Subversionというのはソースコードなどの履歴管理システムです。(ユーザーとしてSubversionを使う利点は)アップデートがあった時、コマンドひとつでコード全体が最新のバージョンになります。
Subversionを使えるようにXcode(開発環境)をインストールします。それを終えたらいよいよReVIEWをインストールし、さらにReVIEWがすぐに使えるように.bash_profileを書き換えます。ここまでが今日のゴールになります。
CUIでの操作に慣れておくことは、将来の自分に対する投資です。あなたが職業的な開発者でなくてもXcodeを入れる利益は計り知れないほど大きなものです。
手順1)Subversionが使えるかどうかを確かめる
さあ、おもむろに開くのだ、ターミナルを! ターミナルは「アプリケーション」フォルダの中の「ユーティリティ」フォルダの中にあります。
ダブルクリックで起動すると、こんな感じのウィンドウが開くはずです。
たまにこのウィンドウが黒い画面の人とか見た目がずいぶん違う人がいると思いますが、それは個性というものなのであまり気にしないでください。打ち込んでいく内容には変わりありません。
Subversionが使えるかどうかを確かめるには、この画面上に入ってこのコマンドを入力しましょう。
which svn
このコマンドを入力して、リターンキーを押した時、
- /usr/bin/svn とだけ出た人:すでにSubversionがインストール済みです。手順2をスキップして、手順3へ進んでください。
- no svn /bin /sbin /usr/bin /usr/sbin などと出た人:Subversionがインストールされていません。手順2へ進んでください。
手順2)Xcodeをインストールする
Subversionをインストールする方法も種々あろうかと思いますが、Mac OS X環境でもっとも手軽な方法はXcodeをインストールすることです。XcodeをインストールするとSubversionはもとより様々なコマンドが使えるようになります。
手順3)ReVIEWをインストールする
手順1からここに来た人は、いままさにターミナルが開いているはずです。手順2から来た人はターミナルを再度立ち上げましょう。
ターミナル上では、自分がいまどこのディレクトリにいるかを意識する必要があります。これをカレントディレクトリといいます。上の画面だと入力行の最初「xxxx:~ username $」の「~」部分がカレントディレクトリを表しています。「~」は特殊な記号でログインしているユーザーのホームディレクトリを表しています。念のため、カレントディレクトリをホームディレクトリに移動しておきましょう。
cd ~/
このコマンドをタイプすれば、いつでもホームディレクトリに帰ってこられます。
いろいろご意見があるかもしれませんが、ReVIEWはホームディレクトリのbinディレクトリにインストールすることにします。ホームディレクトリに「bin」というディレクトリはありますか? もしなければ作ってください。Finder上からホームディレクトリに「新規フォルダ」で作って名前を「bin」に変えてもかまいませんが、せっかくターミナルを立ち上げているんですから、ターミナルからbinディレクトリを作ってみましょう。既にbinディレクトリがある人は、この作業はしなくていいです。
mkdir bin
ホームディレクトリにbinフォルダができました。Finderでも確認できますし、ターミナルから「ls -al」とタイプして確認することもできます。ホームディレクトリの内容は必ずしもこの通りではないと思いますが、binというディレクトリがあるのがわかります。
$ ls -al total 232 drwxr-xr-x+ 56 username staff 1904 2 6 12:02 . drwxr-xr-x 5 root admin 170 8 3 2011 .. -rw------- 1 username staff 20726 2 7 15:35 .bash_history -rw-r--r--@ 1 username staff 489 2 1 21:11 .bash_profile drwxr-xr-x 2 username staff 68 7 14 2010 Applications drwx------+ 31 username staff 1054 2 9 16:43 Desktop drwx------@ 21 username staff 714 1 5 20:14 Documents drwx------+ 14 username staff 476 2 9 14:55 Downloads drwx------+ 61 username staff 2074 10 13 15:36 Library drwx------+ 5 username staff 170 8 3 2011 Movies drwx------+ 5 username staff 170 11 23 2007 Music drwx------+ 9 username staff 306 3 18 2011 Pictures drwxr-xr-x+ 6 username staff 204 8 3 2011 Public drwxr-xr-x 20 username staff 680 11 4 2010 bin
binディレクトリができているのを確認したら、カレントディレクトリをbinに移動します。元々binディレクトリが存在した人もここからは一緒にタイプしてください。
cd bin
これでカレントディレクトリは~/bin になっているはずです。いよいよReVIEWのインストールをしましょう。下記のようにタイプしてください。
svn co https://kmuto.jp/svn/review/trunk review
リターンキーを押すと、下記のようなメッセージが出るかもしれません。というか、出ます。
Error validating server certificate for 'https://kmuto.jp:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: svn.kmuto.jp - Valid: from Sun, 14 Nov 2010 03:01:25 GMT until Tue, 13 Nov 2012 03:01:25 GMT - Issuer: http://www.cacert.org, Root CA - Fingerprint: 13:8d:1e:cd:95:49:a6:f3:95:cc:d7:e3:29:27:6b:74:05:70:71:b0 (R)eject, accept (t)emporarily or accept (p)ermanently?
これはSSLサーバ証明書を信頼するかどうかという確認です。「p」(永続的に信頼)をタイプしてリターンキーを押してください。もしかすると、下記のような1行で終わってしまうかもしれません。
svn: OPTIONS of 'https://kmuto.jp/svn/review/trunk': Could not read status line: connection was closed by server (https://kmuto.jp)
これも書いてあるとおりですが、「あなたの返事をまちくたびれて扉を閉めました」と言われています。気にせずに「svn co https://kmuto.jp/svn/review/trunk review」を再度タイプして、「p」をタイプしてください。
インストールが始まると、経過ログがずらずらと画面上に表示されます。
A review/test A review/test/test_helper.rb A review/test/test_i18n.rb A review/test/test.re ... (長いので中略) A review/bin/review-preproc A review/bin/review-epubmaker A review/bin/review-check A review/bin/review-epubmaker-ng Checked out revision 169.
最後の行はリビジョン「169」を表示して、入力プロンプトが帰ってきました。ここでもしエラーになるようなことがあれば、もう一度「svn co https://kmuto.jp/svn/review/trunk review」からやりなおしてください。
これでインストールそのものは終わりました。ReVIEWの実行ファイル、ドキュメント類すべては「~/bin/review」ディレクトリの中に入っています。もし、アンインストールしたいなら、ディレクトリごと消去してしまってかまいません。
手順4)パスを通す
CUIアプリケーションを導入した後に、「パスを通しておいてください」などと書かれていることがあります。これは、特定の専用ディレクトリ(/bin とか/local/bin とか)以外の場所にアプリケーションを置いた場合、シェルからすぐに実行できるようにパスを設定しておいてね、という意味です。具体的には、ターミナルがデフォルトで使うbash*3 というシェルの設定ファイルを書き換える作業を指します。設定ファイル「.bash_profile」はデフォルトでは作られていません。ファイル名の最初の文字が「.」(ドット)で始まるファイルをドットファイルといい、通常のFInderでは不過視ファイルになっています。
4-1 実行ファイルのパスを確認
最初に用意するのは、 ReVIEWの実行ファイルディレクトリの正確なフルパス名です。 ReVIEWのあるディレクトリに移動してみましょう。
cd ~/bin/review/bin
ちゃんと移動できているかどうか、ファイルを一覧させてみます。
$ ls -al total 152 drwxr-xr-x 12 username staff 408 2 1 21:07 . drwxr-xr-x 15 username staff 510 2 1 21:07 .. -rwxr-xr-x 1 username staff 4629 2 1 21:07 review-check -rwxr-xr-x 1 username staff 1299 2 1 21:07 review-checkdep -rwxr-xr-x 1 username staff 5626 2 1 21:07 review-compile -rwxr-xr-x 1 username staff 17255 2 1 21:07 review-epubmaker -rwxr-xr-x 1 username staff 5546 2 1 21:07 review-epubmaker-ng -rwxr-xr-x 1 username staff 2973 2 1 21:07 review-index -rwxr-xr-x 1 username staff 10068 2 1 21:07 review-pdfmaker -rwxr-xr-x 1 username staff 3303 2 1 21:07 review-preproc -rwxr-xr-x 1 username staff 1682 2 1 21:07 review-validate -rwxr-xr-x 1 username staff 2907 2 1 21:07 review-vol
ここで、カレントディレクトリのフルパスを得る「pwd」コマンドを使います。
$ pwd /Users/username/bin/review/bin
ここでは、「/Users/username/bin/review/bin」と出てきました。このフルパス名をコピーしておいてください。
4-2 .bash_profileを編集する
.bash_profileファイルが存在するかどうか確認するには、ホームディレクトリ上で、先ほど使用した「ls -al」で確認してください。
.bash_profileファイルはデフォルトでは存在しませんが、もしかしたら何かのセットアップスクリプトが作成してしまっているかもしれません。あるいは、システム管理者が必要上設置している場合があります。もし後者ならば、ここからの作業は管理者に任せたほうがよいかもしれません*4。もちろん、他のプロジェクトで.bash_profileの編集したことがある人は、(下記の方法ではなく)やりやすいやり方でやっていただいてかまいません。
.bash_profileファイルが存在しない人は、ホームディレクトリに移動して、下記のコマンドを打ち込んでください。「/Users/username/bin/review/bin」の部分は、4-1でコピーしておいてフルパス名と差し替えるのを忘れずに。
echo "export PATH=$PATH:/Users/username/bin/review/bin" >> ~/.bash_profile
.bash_profileファイルがきちんと書き込まれたかどうか、次のコマンドで確認してみましょう。
$ cat ~/.bash_profile export PATH=$PATH:/Users/username/bin/review/bin
先ほどのもし、「cat: /Users/username/.bash_profil: No such file or directory」などと出てきてしまったら、4-1からやり直してください。
手順5)インストールが成功したかどうか確認する
すべての手順がうまくできたかどうか確認します。ReVIEWの実行ファイルのあるディレクトリ(/Users/username/bin/review/bin)にいると、自動的にパスが通ってしまいテストになりませんので、ホームディレクトリかどこか任意のディレクトリに移動してから、下記のコマンドをタイプしてください。
review-compile --help
下記のようにヘルプが出て来たら、すべてが成功しています。おつかれさまでした。
$ review-compile --help Usage: review-compile [--target=FMT] --yaml=YAML Read configurations from YAML file. --inencoding=ENCODING Set input encoding. (UTF-8, EUC, JIS, and SJIS) --outencoding=ENCODING Set output encoding. (UTF-8[default], EUC, JIS, and SJIS) -c, --check Check manuscript --level=LVL Section level to append number. --nolfinxml Do not insert LF in XML. (idgxml) --table=WIDTH Default table width. (idgxml) --listinfo Append listinfo tag to lists to indicate begin/end. (idgxml) --chapref="before,middle,after" Chapref decoration. --subdirmode Use chapter/id.ext path style to find images. --singledirmode Use id.ext path style to find images. --chapterlink make chapref hyperlink --stylesheet=file Stylesheet file for HTML (comma separated) --mathml Use MathML for TeX equation in HTML --htmlversion=VERSION HTML version. --hdnumberingmode Output numbering headlines. (deprecated) --deprecated-blocklines Disable paragrahs in block tags. Treat physical line as a paragraph. (deprecated) --target=FMT Target format. --footnotetext Use footnotetext and footnotemark instead of footnote (latex) --draft use draft mode(inline comment) -a, --all Compile all chapters. --directory=DIR Compile all chapters in DIR. --help Prints this message and quit.
(追記:2012-02-14T10:03:56+0900)@monokano さんから「 export $PATH 」で確認した方が確実なのでは? とご指摘いただきました。おっしゃる通りです!
これからどうするか...
ReVIEWについて、いくつかのサンプルドキュメントを変換してみたり、実際に自分でReVIEWドキュメントを書いたりして試してみてください。
ReVIEWフォーマット一覧をブックマークして、すぐに参照できるようにしましょう。
ReVIEWメーリングリストに入ると、いろいろな情報を入手できます。
ReVIEWは現在も更新されつづけています。バグフィックスや、新しい機能を取り込んでいます。自分のReVIEW実行ファイルを新しいものに置き換えたいと思ったら、~/bin/rebiewディレクトリに移動して、下記のコマンドをタイプしてください。最新版がすぐに使えるようになります。
svn up
さて、今回のインストールいかがでしたでしょうか? パワーユーザーにとっては当たり前のことでも、初めてターミナルを触る人にとっては意外と大変だったかもしれません。しかし、CUIはその労力の何十倍もの仕事をしてくれるすばらしい操作方法です。今日はほんのちょっとしたコマンドしか紹介できませんでした。また、その意味も軽く触れるにとどめてあります。もし、興味を持った人は、いろいろ調べてみてください。ネット上にもいくつか有用な情報がありますが、手軽なリファレンス本が手元にあるといいでしょう。