2011-08-15 15 views
1

私はruby gemの依存関係をインストールするためにconfig/environment.rbを使用しようとしています。ちょうどgem install hpricotと呼ぶことはできません)。Rails:gem.config&rake gems:install - 読み込むべきファイルがありません

私は雑貨の引数(:version:source:lib)を含むしようとしましたが、私はまだrake aborted! no such file to load -- hpricot

アップデートを取得:それは私がhpricotを必要とするプラグインを削除すると、その後、私は成功しrake gems:installを実行できることが判明し。しかしそれはあまり役に立ちません。つまり、私がアプリケーションを動かすと、そのプラグインを再インストールしてそれに依存する機能を追加するため、その宝石を見つけられないという問題にぶつかります。

これはどのように動作するはずですか?

のSys:それは本当に働いたことはないので WinXPの、Rubyの1.8.7、Railsの2.3.5

答えて

1

rake gems:installは廃止されました。あなたがインストールしようとしている宝石に依存する宝石用インストーラが悪い考えであると想像することができます。

代わりにbundlerを使用することをおすすめします。

Bundlerを使用すると、欲しい場所に宝石をインストールすることができます。具体的には、「sudo」の問題が発生している可能性があります。それは多くの場合、このように簡単です:

bundle install --path ~/my_gems/ 

あなたはa few simple stepsに従うことによって、あなたのRails 2.3.x以降のアプリケーションの利用バンドラーを作ることができ、そこからあなたの人生はずっと楽になります。

+0

ありがとうございました。私たちのITディレクターは、バンドラをインストールしていないことを私に伝えました(あたかも彼がそれを追加する傾向がないように)。回避策はありますか? – JellicleCat

+0

最良の回避策は、インストールすることです。 [rvm](http://beginrescueend.com/)や[rbenv](https://github.com/sstephenson/rbenv)のようなツールを使って、ユーザーレベルで宝石をインストールすることができます。とにかく誰かがやることがどれほど難しいでしょうか? – tadman

+0

右。私はITに尋ねました。彼らは、私が望んでいた宝石(hpricot)をインストールすると言っていました。それは彼らがしたことです。 (ロール・アイ) – JellicleCat

2

Railsはrakeタスクを実行する前にgemをロードしようとしています。これはrails 2.xの既知の問題です。私が知っている唯一の解決策は、bundlelerを使って宝石を管理したり、手動で管理したりすることに切り替えることです。

Bundlerはレール2で使用できますが、アプリケーションとデプロイメントスクリプトにはいくつかの変更が必要です。これは始めるのに適しています:http://gembundler.com/rails23.html

+0

答えをありがとう。私が@tadmanに言及したように、私たちはバンドラをインストールしていません(と私はそれをインストールすることはできません)。たぶん私はそれをインストールするために私たちのITディレクターを押す必要があります。しかし、回避策がありますか? – JellicleCat