2010-12-03 7 views
5

私は、次を入力:私は宝石をレールに付け加えましたが、まだ宝石が見つからないと言いますか?

gem install omniauth 

environment.rbファイルでは、私も持っている:

config.gem "omniauth" 

をしかし、私はこれらのエラーを取得:

no such file to load -- omniauth/core 
Missing these required gems: 
    omniauth 

私は混乱している:Iレーキの宝石をしてください:インストールしてもエラーは発生しません(どちらもメッセージが返ってきません)。しかし、私はスクリプト/サーバーを実行しようとすると、私はレーキの宝石を行う必要があると言う:インストール!

私はenvironment.rbにからconfig.gem「omniauth」を削除すると、私はこの取得:

c:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant': unin 
itialized constant OmniAuth (NameError) 

答えて

3

を今のRails 3は、バンドラを使用している、あなたはそれが明示的にあなたがにアクセスしたいことを確認する必要があることあなたのアプリの特定の宝石。

gem 'omniauth' 

し、プロジェクトディレクトリにbundle installを実行して、あなたが行ってもいいようになります。これを行うには、次の行を追加します(プロジェクトのルートディレクトリに)あなたのGemfileに入ります。 bundle installは、すべてのgemと依存関係が現在のシステムにインストールされていることを確認するだけです。がんばろう!

+0

こんにちは私はまだ2.3.xになっています - 3に移行するにはあまりにも難しい..... .....どんな提案ですか? – Angela

+0

これは本当に正しい答えではありませんでしたが、私はRails 2.3.xアプリにbundlerをインストールしました。 – Angela

1

提案:

"宝石のリスト" を行うとomniauthがそこに表示されているかどうか。 "gem env"を実行して、宝石がどこにインストールされているか、それらの場所が宝石のパスの一部であるかどうかを確認します。

申し訳ございません申し訳ありません今すぐ。

+0

はいそれはリストされています.... :( – Angela

1

Strange。私自身は、OAuthを持つfamilliarが、あなたがチェックできる二つのものではない:

まず、アプリのルートで

rake gems:install 

を試すことができます。すべての依存関係が正しくインストールされている場合は、何も報告しないでください。

第二に、あなたはコンソールに行くと

require 'omniauth' 

require 'omniauth/core' 

は、モジュールのロードをないタイプすることができますか?あなたはそれをコンソールから使えますか?サーバを起動したときに、モジュールや依存関係をロードするエラーが表示されないことがありますが、コンソールに表示されることがあります。

1

私は同じ問題を抱えていました。私はそれがRubygemsの問題だと思う。
私がしなければならなかったのは、rvmに切り替えることです。
Rubygemsの適切なバージョンを含む複数のRubyバージョンを管理します。
ソースから必要なルビバージョンをダウンロードしてビルドするので、最初に必要なすべての依存関係をインストールしてください。
それが私の問題を解決しました。

0

私はRails 2.3でも同じ問題がありました。 bundlerを使って解決しました。

関連する問題