1

GEM_PATH を明示的に設定せずに、gem へのパスを定義して ruby​​ を実行する最良の方法は何だろうか。

だから、基本的に私はこれを行うことが可能かどうか疑問に思います:

ruby --some-magic-gem-path my/gems script.rb

これの代わりに:

export GEM_PATH=my/gems
ruby script.rb
unset GEM_PATH

私が最初に考えたのは、「ああ、script.rb のようなことしかできない」ということでしたが、この場合はまったく実行できないruby -r rubygems -e "Gem.path << 'my/gems'"ことに気付きました。script.rb

4

1 に答える 1

1

おそらく、gem を検索する必要があるフォルダー-eに Ruby のフラグを使用します。unshift

$ ruby -e 'Gem.path.unshift("~/bin")' -e "p Gem.path"
["~/bin", "/home/vgoff/.rvm/gems/ruby-2.0.0-p247", "/home/vgoff/.rvm/gems/ruby-2.0.0-p247@global"]

ただし、これではまだプログラムを実行できないと思います。

そのため、フラグ-r custom_gem_path.rbを呼び出すよりも、カスタム ニーズのあるファイルを含める方がよい場合があります。-e

ruby -r./custom_gem_path.rb test.rb

-eこれにより、最初の引数の内容が に格納されていることを考えると、上記と同じ出力が得られ./custom_gem_path.rbます。

于 2013-11-01T10:35:42.713 に答える