3

ローカルの Ruby インタープリターにサードパーティを作成してもらい、それを以下にインストールします。/usr/lib/projectA/ruby/bin/ruby

次に、strcuture フォルダー全体を同じ構造の別のフォルダーにコピーします。/usr/lib/projectB/ruby/bin/ruby

ファイルをコピーした後、コピーしたルビーを呼び出します。

# /usr/lib/projectB/ruby/bin/ruby -v
ruby 1.9.x

ただし、実行すると機能しているようです

# /usr/lib/projectB/ruby/bin/ruby -e 'puts 1'
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError)
from <internal:gem_prelude>:1:in `<compiled>'

rubygems が見つからないようなので、パスを追加します

# /usr/lib/projectB/ruby/bin/ruby -e 'puts 1' -I '/usr/lib/projectB/ruby/lib/'
/usr/lib/projectB/ruby/lib/ruby/1.9.1/rubygems.rb:31:in `require': cannot load such file -- rbconfig (LoadError)

今、別のファイルをロードすることはできないので、もっと来ると思います..

そう

  1. 新しい ruby​​ の新しい ruby ​​gemsベースパスを設定する正しい方法は何ですか?
  2. 呼び出しでも ruby​​gem が呼び出されるのはなぜputs 1ですか?

ps ruby​​ を含む zip パッケージ全体をユーザーにデプロイする必要があるため、rvm または同様のアプローチを使用できません。

4

1 に答える 1