2012-04-04 10 views
2

私は殆どの外部依存関係( 'liquid'、 'fastercsv'など)の少ない宝石を梱包していますが、ここでの唯一の要件は、宝石はネットにアクセスできない(いくつかのプロキシ制限)。私は自分の宝石を "vendor/bundle/jruby/1.9"フォルダの中に入れて、http://rubygems.orgからダウンロードするのではなく、それらの宝石をどのように使用するのかを疑問に思いますか?外部の宝石をベンダフォルダからロードする方法

ありがとうございます!

答えて

2

本当にやりたければ、宝石のGemfileを編集し、それらの宝石を依存関係として削除することができます。

これは、ユーザーがあなたの宝石をインストールすると、他の宝石をダウンロードしないことを意味します。

あなたの宝石の中には、あなたの内側の宝石のそれぞれを必要とする必要があります。

ユーザのシステム上に存在する既存の宝石ではなく、自分の内側の宝石を確実に取得したい場合は、ロードパスを使用して保存し、自分で上書きしてから宝石をロードしてからロードパスを復元します。

+0

ありがとうございますjoelparkerhenderson。私は私のGemfileに "gemspec"を含めるべきですか、それともクリアするべきですか?また、「液体」を必要とするのではなく、「ベンダー/バンドル... /液体」を必要とするような内部の宝石を要求する必要がありますか? – sebarmeli

+0

良い質問ですが、わかりません。私は個人的にそれを試してみるだろう。あなたの2番目の質問については、私は最初にロードパスを変更しようとしています。目標は、あなたの宝石のファイルに通常のように要求することができるようにすることです:require 'liquid'。 – joelparkerhenderson

+1

ああ、prj_name.rbファイルで$ :. unshift File.dirname( 'vendor')のようなことをしていますか? – sebarmeli

関連する問題