12

Mongrelサーバーを起動するとこのエラーが発生します...

$ script/server --debugger
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
=> Debugger enabled
=> Call with -d to detach
=> Ctrl-C to shutdown server

rake gems:refresh_specsを実行すると、別のエラーが発生することが示唆されます。

rake aborted!
undefined method `installed_source_index' for #<Gem::SourceIndex:0x100551a58>

これを修正する方法について何か考えはありますか?

4

6 に答える 6

22

Authlogicで壊れている理由はわかりませんが、自分で生成する必要がありました。

Railsプロジェクトでこれを試してください:

$ prompt> cd vendor / gems / authlogic-2.1.3

$prompt>gem仕様authlogic>.specification

于 2010-02-23T05:59:56.523 に答える
4

今日は別の宝石を除いて同じことを経験しているので、ここでチャイムを鳴らします。

プラグインの代わりに通知機能をgemとして使用するようにhoptoadを更新していましたが、Githubページの手順の1つは、gemをvendor/gemsに解凍することです。

私はMacOSXを使用しており、gemを次のように解凍しました。

$> rake gems:unpack GEM=hoptoad_notifier

これを行った後、指定されたエラーが発生し、gemは実際には解凍されませんでした(vendor / gemsにディレクトリが作成されましたが、実際にはgemが解凍されませんでした)。

私はvendor/gemsからディレクトリを削除し、次のように再試行しました:

$> sudo rake gems:unpack GEM=hoptoad_notifier

今回は動作し、適切に解凍され、エラーは発生しませんでした。

于 2010-05-18T16:22:34.487 に答える
3

これが理由だと思います:http: //github.com/binarylogic/authlogic/commit/05e452472616bd60bb81affc75a1cb3d95cf7857

所有者は、.specificationファイルに意図的にgitignoreを追加しました。私はあなたがこの特定のgemをフリーズし、vendor / gems / ..の下のコードブランチに送信すると推測しています。予想通り、gitはリクエストごとにこの特定のファイルを無視します

于 2010-05-21T00:18:08.693 に答える
1

私はvendor/gems / authlogicにアクセスし、.gitignoreから「.specification」を削除する必要がありました

それが済んだら、rake gems:refresh_specsを実行できます。

唯一の問題は、次にこのgemをアップグレードしたときに、悪い.gitignoreが戻ってくることです。

于 2010-07-09T07:27:08.320 に答える
1

同じ「不明なGEM」の問題がありました。私は次のレシピを見つけました:

まず、標準の「gem install authlogic」を使用してgemをインストールしました。これにより、gemは/Library/Ruby/Gems/1.8に配置されました。

RadRails内で、私はrakeタスク「gems:unpack」を使用しました。これは、アプリに関連するすべてのgemを収集し、必要に応じて/ vendor/gemsに配置するようです。

次に、システム全体のgemをアンインストールして、実際に機能することを確認しました:gem Uninstall authlogic --install-dir = / Library / Ruby / Gems / 1.8

うまくいくようです。

于 2010-11-16T16:57:42.367 に答える
0

.specificationファイルを生成する前にgemをビルドしてインストールします

$ prompt> cd vendor / gems / authlogic-2.1.3

$ prompt> gem build authlogic.gemspec

$ prompt> gem install authlogic.gemspec

$prompt>gem仕様authlogic>.specification

于 2015-01-29T06:27:13.993 に答える