rbenv install 2.5.1
などのようにして、Ruby をインストールする際に、普通はおまかせでインストールするのだろうけど、あちこちのディレクトリに別バージョンをインストールするとなると、全部にドキュメントのインストールを行うのは、ファイルサイズ増、処理時間増となって好ましくない。./configure
時のオプションを指定して、ドキュメントをインストールしないようにすれば良い。
オプションは BLFSブック の Ruby のソースビルドを参考に、--disable-install-doc --disable-install-rdoc --disable-install-capi
をつけることにする。
そしてそのオプションは rbenv
実行時に環境変数 CONFIGURE_OPTS
を使って与えられる。例えば $ CONFIGURE_OPTS="..." rbenv install ...
などとするのがてっとり早い。この環境変数については ruby-build の README.md
に書いてある。
ここでは以下のようにした:
$ export CONFIGURE_OPTS="--disable-install-doc --disable-install-rdoc --disable-install-capi"
$ rbenv install 2.5.1
$ unset CONFIGURE_OPTS
結果確認としては、まずインストール最中の場合。
/tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn
なるディレクトリ配下に ruby-2.5.1
ソースディレクトリが展開されている。そこの config.log
ファイルを見れば、オプション受け渡しができているかどうかがわかる。なおこれはインストール最中のことであって、インストールが終わると、/tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn
は消される。
$ cd /tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn
$ cd ruby-2.5.1
$ less config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/home/rails/.rbenv/versions/2.5.1 --disable-install-doc --disable-install-rdoc --disable-install-capi
...以下省略...
たしかに ./configure
オプションに --disable-install-XXX
が加わっているのでOK。当然のことながら CONFIGURE_OPTS
を設定していなければ、その --disable-install-XXX
は表示されない。
インストールを終えた後の確認。
/tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn
なるディレクトリは消されているが、同名のログファイル /tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn.log
は残されている。おそらく見るからにこのファイルは ./configure
、make
、make install
の出力を連結している。このファイルの最終を見てみれば、ドキュメントがインストールされたかどうかが分かる。
$ cat /tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn.log
...省略...
installing rdoc: /home/rails/.rbenv/versions/2.5.1/share/ri/2.5.0/system
installing capi-docs: /home/rails/.rbenv/versions/2.5.1/share/doc/ruby
/tmp/ruby-build.YYYYMMDDHHMMSS.nnnnn ~
installing rdoc
の表記がなければ、ドキュメントがインストールされていないと分かる。(上記は CONFIGURE_OPTS
を何も設定していなかった際の出力例。)