この質問がここに属するかどうかはわかりませんが、試してみましょう。こんにちは。私は自分のマシンで、Windows Vistaでubuntu 11.10デュアルブートを実行しています。 Ubuntuでは、RVM、Rails gem、およびPostgreSQL(postgresサーバー、クライアント、およびlibpq5などの他のパッケージをインストールしました。SoftwareCenterからインストールしたためです)。
私はアプリをherokuにデプロイしようとしていますが、gemをインストールする必要があるようですpg。私はそれをインストールしようとしましたが、代わりにこのエラーが発生しました:
エラー:gemネイティブ拡張のビルドに失敗しました。
/home/pcr/.rvm/rubies/Ruby-1.9.3-p0/bin/Ruby extconf.rb pg_configの確認...はい
/ usr/bin/pg_configの設定値を使用する
サーバー側拡張機能を構築するにはpostgresql-server-dev-X.Yを、クライアント側アプリケーションを構築するにはlibpq-devをインストールする必要があります。サーバー側拡張機能を構築するにはpostgresql-server-dev-X.Yを、クライアント側アプリケーションを構築するにはlibpq-devをインストールする必要があります。
libpq-fe.hを確認しています... * extconf.rb failed *
しばらくグーグルとstackoverflowを検索した後、多くの人がlibpq-devをインストールする必要があると言いました。私は、ソフトウェアセンター経由で試しましたが、依存関係を満たさないようにしました。 apt-getを使って試しましたが、libkrb5-devとkrb5-multidevが必要だと言われました。 Sudo apt-get install libpq-dev libkrb5-dev krb5-multidev
を試してみましたが、次のようになりました:
以下のパッケージには満たされていない依存関係があります:krb5-multidev:
依存:libkrb5-3(= 1.9.1 + dfsg-1ubuntu1)が、1.9.1 + dfsg-1ubuntu2.1がインストールされる
依存:libk5crypto3(= 1.9.1 + dfsg-1ubuntu1)が、1.9.1 + dfsg-1ubuntu2.1がインストールされる
依存:libgssapi-krb5-2(= 1.9.1 + dfsg-1ubuntu1)しかし、1.9.1 + dfsg-1ubuntu2.1がインストールされますE:問題を修正できません。壊れたパッケージを保持しています。
しかし、システムにはすでにlibkrb5-3、libk5crypto3、およびlibgssapi-krb5-2(すべてバージョン1.9.1 + dfsg-1ubuntu2.1)があります!おそらく必要なバージョンは1.9.1 + dfsg-1ubuntu1であると思います。したがって、最初に1.9.1 + dfsg-1ubuntu2.1パッケージを削除する必要があります。削除しても安全だと思いますか?それらの1つを削除しようとしましたが、ソフトウェアセンターはpostgres、openssl-client、smbclient、cups、および他の多くのパッケージも削除することを警告しています。
これを解決するにはどうすればよいですか?また、dbgresとしてpostgresを使用してRailsアプリを作成するには、pg gemをローカルマシンにインストールする必要が本当にありますか?代わりにpg gemをherokuに含める責任を「引き渡す」方法はありますか?
本当の解決策は、正確に Amit Patelが指摘 、libpq-dev
をインストールすることです
開発マシンでpgをセットアップできなかった場合の回避策を次に示します。ローカルマシンでsqliteを使用し、Herokuでpgiteを使用できます。 Gemfileに必要なものは次のとおりです。
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
そして、このコマンドを使用してバンドルをインストールし、実動gemを無視します。
bundle install --without production
実稼働マシンと開発マシンで同じ環境を使用しないことはお勧めできません。
今日も同じ問題が発生しました。メッセージに従いましたサーバー側の拡張機能を構築するにはpostgresql-server-dev-XYを、クライアント側のアプリケーションを構築するにはlibpq-devをインストールする必要があります。インストールしたlibpq-devとバンドルRails appをもう一度実行すると、エラーが消えました。
$ Sudo apt-get install libpq-dev
$ bundle install