QA@IT

Ruby起動時にデフォルトでrequireさせるには

2658 PV

Rubyでrequireして利用するものを都度requireするのではなく、Ruby起動時にデフォルトでrequireさせておく方法はあるのでしょうか?
ruby -r tappという指定すら省略したいです。
何か設定ファイルのようなものでRuby起動時にrequireさせる方法があれば教えてください。

回答

(質問者さんのエントリー にコメントしたんですがこちらにも)

RUBYOPT を使っても bundler が邪魔をする問題は、

bundle exec sh -c 'exec env RUBYOPT="-rtapp $RUBYOPT" $*' --

にシェルで alias などを張って頑張るという方法もあります。

編集 履歴 (0)
  • あ、問題があった。$*だと""とかでエスケープされない… -

教えて頂いた方法でもできたのですが、bundler使ってbundle execする場合に-rで指定しておいたライブラリがbundle installで入ってないと死んでしまいました。
なので組み込みライブラリの在処にtappを突っ込んで以下のようにexportしたらとりあえず解決しました。

(rvm使ってると$MY_RUBY_HOMEっていう環境変数がセットされるっぽいです)
export RUBYOPT="-r$MY_RUBY_HOME/lib/ruby/1.9.1/tapp.rb"

無理矢理ですが一応...

編集 履歴 (0)
  • tappつっこみさえすればexport RUBYOPT="-rtapp"でいけますね -

環境変数 RUBYOPT を使うとかですかねぇ:

export RUBYOPT="-rtapp"
編集 履歴 (0)
  • この方法でやりたいことが実現できました!!
    RUBYOPTっていう環境変数があったんですねー
    ありがとうございました!!
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。