2010-12-01 10 views
1

続編は、私はPG、postgresのをインストールし、そして私の上のpostgres-prの罰金...私はHerokuの上と同じエンバイロメントで作業するためにはPostgreSQLに私のRailsアプリケーションを移行しようとしているpostgresの

を動作していませんマックが、私は私のデータベースをHerokuから私のpostgresqlサーバに引き出すためにTapを得ることができません。

My Rails Appsはデータベースにシームレスに接続します。

私はIRBに実行すると、これは私が得るものです:

>> require "rubygems" 
=> false 
>> require "sequel" 
=> true 
>> DB = Sequel.postgres 
NameError: uninitialized constant Sequel::Postgres::PGError 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/adapters/postgres.rb:89 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `k_require' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:249:in `tsk_require' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:72:in `check_requiring_thread' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:69:in `synchronize' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:69:in `check_requiring_thread' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:249:in `tsk_require' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/database/connecting.rb:25:in `adapter_class' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/database/connecting.rb:63:in `connect' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:119:in `connect' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:282:in `adapter_method' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.17.0/lib/sequel/core.rb:289:in `postgres' 
    from (irb):3 
>> 

私が間違って何が起こっているのか理解していません。

誰かがアイデアを持っていますか?


これは、私はあなたが「どこかにあなたのパスにpg.rbまたはpostgres.rbの確認」

で意味を理解してわからないんだけど、私は何を得るジェレミー

BigMac:~ jp$ ruby -rubygems -rpg -e "p PGError" 
ruby: no such file to load -- pg (LoadError) 
BigMac:~ jp$ ruby -rubygems -rpostgres -e "p PGError" 
ruby: no such file to load -- postgres (LoadError) 

です

$ PATH内のすべてのディレクトリをスキャンし、不要なpg.rbまたはpostgres.rbファイルを探す必要がありますか?私はPGをインストールして、ここで

をpostgreなかったので、奇妙な


私はちょうどあなたが必要としているものは何でもpostgresのか、PGファイル、いくつかの理由

BigMac:/ jp$ sudo gem install pg 
Password: 
Building native extensions. This could take a while... 
Successfully installed pg-0.10.0 
1 gem installed 
Installing ri documentation for pg-0.10.0... 
Installing RDoc documentation for pg-0.10.0... 
BigMac:/ jp$ ruby -rubygems -rpg -e "p PGError" 
ruby: no such file to load -- pg (LoadError) 
BigMac:/ jp$ 
+0

コマンドラインで 'gem search pg postgres'を実行し、元の質問を編集して出力を追加してください。出力がない場合は、 'gem install pg'を実行する必要があるように聞こえます。 –

答えて

1

を実行するものであることはPGErrorを定義していませんクラス。パスのどこかにpg.rbまたはpostgres.rbがあるかどうか確認してください。

ruby -rubygems -rpg -e "p PGError" 
ruby -rubygems -rpostgres -e "p PGError" 
1

あなたはpostgres adapterソースコードをチェックアウトした場合、あなたはそれが(その順序で優先順位)postgres宝石続いpg Rubyの宝石をロードしようと見ることができます:あなたは、次のルビーとどう

ruby -rubygems -rpg -e "p PGError"の出力によれば、pgの宝石はなく、postgresの宝石もあなたのシステムにインストールされていません。

gem install pgを実行して再度その行を試してください。うまくいかない場合は、Rubygemsの問題になり、Sequelの問題にはなりません。 pgをロードできる場合は、PGErrorが定義されます。

3

私は、heroku db:pg gemを使用してローカルのpostgresqlデータベースにpullしようとしたときとまったく同じ問題が発生していました。ランダムに以下の宝石を削除することで問題を修正終わった:

activerecord-jdbc-adapter 
activerecord-jdbcpostgresql-adapter 

は、これらの宝石を削除した後、再びそれを試してみましたが、成功しHerokuのから引くことができました。あなたのpg gem以外のpostgresに関連するすべての宝石について宝石ファイルをチェックして、それを削除してみてください。すべて最高です

+0

2Potatocakesちょっと、私は宝石の更新のherokuをして、それ以降はすべてうまくいった。もう一度起きたらあなたの答えを保つよ! –

+0

これも私のために働いた、信じられないほど!ニースjob @ 2potatocakes –

関連する問題

 関連する問題