LoginSignup
5

More than 5 years have passed since last update.

ローカル環境でmultirust+rustbookでRust日本語ドキュメントをビルドする

Last updated at Posted at 2016-03-25

https://github.com/rust-lang-ja/the-rust-programming-language-ja をローカル環境でビルドする手順です。

前提

項目 説明
OS MacOSX 10.11.2
Rust 1.7.0 stable, 1.9.0 nightly
検証日時 2016.03.25

rustbookのインストール

multirust経由で入れます。

$ multirust run nightly cargo install --git https://github.com/steveklabnik/rustbook.git

設定を変えていない場合は$HOME/.multirust/toolchains/nightly/cargo/bin/rustbookにインストールされます。

rustbookの実行

インストールしたrustbookをそのまま実行するとライブラリを読めずにエラーになります。

$ ~/.multirust/toolchains/nightly/cargo/bin/rustbook
dyld: Library not loaded: @rpath/librustdoc-18402db3.dylib
  Referenced from: /Users/hattori-h/.multirust/toolchains/nightly/cargo/bin/rustbook
  Reason: image not found
zsh: trace trap  ~/.multirust/toolchains/nightly/cargo/bin/rustbook

なのでこれを回避するために環境変数DYLD_LIBRARY_PATHを指定して実行します。

$ DYLD_LIBRARY_PATH=$HOME/.multirust/toolchains/nightly/lib ~/.multirust/toolchains/nightly/cargo/bin/rustbook
Usage: rustbook <command> [<args>]

The <command> must be one of:
  help    Print this message.
  build   Build the book in subdirectory _book
  serve   --NOT YET IMPLEMENTED--
  test    --NOT YET IMPLEMENTED--

実行できました。

ドキュメントをビルドする

ここまで準備が整えばあとはビルドするだけです。
SUMMARY.mdを起点にビルドするので、SUMMARY.mdがある場所にカレントディレクトリを変更します。
(大抵ドキュメントのルートディレクトリ的なところにあるはず。)

$ git clone https://github.com/rust-lang-ja/the-rust-programming-language-ja.git
$ cd the-rust-programming-language-ja
$ find . -name "SUMMARY.md"
./1.6/en/book/SUMMARY.md
./1.6/en/nomicon/SUMMARY.md
./1.6/en/style/SUMMARY.md
./1.6/ja/book/SUMMARY.md
./1.6/ja/nomicon/SUMMARY.md
./1.6/ja/style/SUMMARY.md
$ cd 1.6/ja/book
$ DYLD_LIBRARY_PATH=$HOME/.multirust/toolchains/nightly/lib ~/.multirust/toolchains/nightly/cargo/bin/rustbook build .

_bookディレクトリが作成され、その中にビルドされたドキュメントが作成されます。

以上

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5