3

これらの依存関係をすべてインストールすることから始めました。

sudo yum install ruby19 ruby19-devel gem rubygems19-devel make gcc postgresql9 postgresql9-devel postgresql9-server

次に、ルートユーザーに切り替えて実行します

bundle install

緑の成功メッセージが表示されます。

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

ただし、ディレクトリにcdして実行すると

rails s -p80

これをすべて取得しても起動に失敗します(rootでないとバインドがポート80に機能しないため、まだrootです):

/usr/local/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- pg_ext (LoadError)
    from /usr/local/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
    from /usr/local/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /usr/local/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
    from /usr/local/share/gems/gems/pg-0.14.0/lib/pg.rb:4:in `<top (required)>'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:66:in `block in require'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/share/gems/gems/bundler-1.2.0/lib/bundler.rb:128:in `require'
    from /home/user/TransForm/config/application.rb:7:in `<top (required)>'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:53:in `require'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:50:in `tap'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

おそらく、エラークラップスをいじるのではなく、最初から正しく展開する簡単な方法はありますか? PostgreSQL が必要です。このアプリは、この AWS EC2 インスタンスを除くすべての場所で動作するため、Gemfile が正しいことはわかっています。手がかりがあれば役立ちます。

4

2 に答える 2

1

開いてirb入力require "pg"しますか?そうでない場合は、ディレクトリにpg_ext存在することを確認してください。/usr/local/share/gems/gems/pg-0.14.0/lib/を使用して手動でpostgresql gemを手動でインストールできます

gem install pg

それでもうまくいかない場合は、コマンドを使用して最新バージョンの ruby​​ と最新バージョンの ruby​​gems を使用していることを確認してくださいgem environment。古いバージョンの場合は、rvm を使用して最新バージョンをインストールできます

于 2012-09-20T02:43:17.377 に答える
0
        use gem pg 
            than 
             bundle install
             bundle update
               please not use any version of pg 
       I face this error and solved by this
于 2014-09-19T09:39:45.053 に答える