Index: [Article Count Order] [Thread]

Date:  Tue, 30 Apr 2002 17:14:01 +0900
From:  Shugo Maeda <shugo@...>
Subject:  Re: ライブラリの検索パスの追加
To:  modruby-ja@...
Message-Id:  <87adrlr4c6.wl@...>
In-Reply-To:  <B8ED163B.34BE%t_hoshizawa@...>
References:  <B8ED163B.34BE%t_hoshizawa@...>
X-Mail-Count: 00281

前田です。

At Thu, 25 Apr 2002 02:11:07 +0900,
Takashi Hoshizawa <t_hoshizawa@...> wrote:
> (1) mod_ruby 使用時、require で検索されるライブラリのパスを追加するには、
>     RubyAddPath を使用するのがベストでしょうか?
>   (過去のメーリングリストに記述あり)
>     これは、正規の機能でしょうか?

はい、そうです。

> (2) Apache の httpd.conf で、
>     RubySetEnv RUBYLIB pathename
>       RubyPassEnv RUBYLIB
>     としましたが、環境変数はスクリプトに渡りましたが、検索パス($:)には
>   追加されませんでした。
>   (No such file to load -- xxxxxxxx (LoadError)でロードは失敗する)
>   これは、仕様通りでしょうか?

仕様のつもりだったのですが、その後$:を毎回初期化するように変更し
たので、RUBYLIBを追加するようにしても支障はなさそうですね。
どうしよう。

個人的には環境変数で指定するのはあまりよい方法ではないような気が
するので、RubyAddPathを使った方がよいと思うのですが。

> (3) Apache 標準の SetEnv を使っても、スクリプトには指定した環境変数が渡る
>     ようですが、RubySetEnv との違いはあるのでしょうか?

RubySetEnvを使った場合は、mod_rubyにしか影響がありません。
# SetEnvの場合はCGIにも影響があります。

-- 
前田 修吾