あなたは、重複した宝石は、JRubyの&MRIのためにインストールしなければならないのですか?

StackOverflow https://stackoverflow.com/questions/788137

  •  16-09-2019
  •  | 
  •  

質問

私はJRubyとルビー(MRI)がインストールされています。一度これらのプラットフォームごとに - 私が二回宝石をインストールする必要があると思われます。これは必要ですか私はそれが間違っているのでしょうか?私はMRI用レールの宝石をインストールした後、私はそれにはJRubyを指摘している必要があります、または私もコールすることが必要だった:「JRubyの-S宝石がレールを取り付ける」

役に立ちましたか?

解決

あなたはGEM_HOMEを設定した場合、あなたの宝石のインストールを共有することができます。

他のヒント

あなたが持っているルビーのインストールをそれぞれ異なるために宝石をインストールする必要があります。

いくつかの宝石は、例えば、特定のプラットフォームをターゲット雑種(MRIの1とJRubyの1があります)。また、JRubyのは、彼らが(ほとんどがいない - まだ)FFIを使用しない限り、ネイティブ拡張(すなわち、Cコード)を持つ宝石を使用することはできません。

個人的に私はMRIやJRubyのための別の宝石のリポジトリを持っています。問題を追跡しようとすると、余分な手間を少しは心の平和の価値があります。

これは、各レポがインストールされているものを見るために非常に簡単です。

jruby -S gem list --local

対。

gem list --local

あなたも、他の1つの宝石のリストを同期するRubyスクリプトを書くことができますが、あなたは、プラットフォーム固有の宝石に注意する必要があるだろう....

私は自分の宝石を作成する際に jimmy_jukebox に、この問題を打つが、両方と私の宝石の作品を作りました。

まず、JRubyのはfork...execを処理しない(とさえProcess.respond_to?(:fork)に誤っ返信)ので、私が代わりにrescue NotImplementedErrorSpoon.spawnpして使用する必要がありました。

私は、(私の宝石の/ binディレクトリに)作成した実行ファイルペア - play_jukeboxjplay_jukeboxを。そしてload_jukeboxjload_jukebox - 正しいシェバングライン(/usr/bin/env ruby又は/usr/bin/env jruby)各

私はより良い方法を知ってみたいです。しかし、私はむしろ、複数の宝石を維持し、配布するよりも、単一の宝石の中にすべてを処理したい。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top