30

私のDBはPostgreSQLです。CENTOSを使用しています...pggemのインストール中に、次のエラーが発生しました。YAMLの問題を解決するために再インストールしましたが、機能しませんでしたが、これは単なる警告です。私の主な問題は、pggemのインストールです。

[root@vdimc04 ~]# gem install pg
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/ruby
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1/ext/gem_make.out

私も次のコマンドで試しましたが、役に立たなかった:

 gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
4

10 に答える 10

85

Centosでも同じエラーが発生しました。グーグルで使用するコマンドが2つ見つかりました。

  1. yum install postgresql-libs-すでにインストールされているというメッセージが表示されました。
  2. yum install postgresql-develpg_config-- 'pg'.gemのインストールに関連するエラーを解決しました。

それが役に立てば幸い :)

aposは次のように書いています:Ubuntu 14.04のインストール:

  1. apt-get install postgresql-server-dev-9.3 libpq-dev
于 2012-12-05T05:31:12.307 に答える
20

CentOSでPostgreSQL、RVM、Ruby、Railsをすべて稼働させるためのレシピは次のとおりです。

PostgreSQL

まず、http ://wiki.postgresql.org/wiki/YUM_Installationの指示に従ってPostgreSQLをインストールします。

sudo vi /etc/yum.repos.d/CentOS-Base.repo

[base]
exclude=postgresql*

[updates]
exclude=postgresql*

たとえば、最新のPGDG RPMファイル(プラットフォーム/アーキテクチャ用)を取得します。

curl -O http://yum.postgresql.org/9.2/redhat/rhel-latest-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

それで

sudo rpm -ivh pgdg-redhat92-9.2-7.noarch.rpm
sudo yum install -y postgresql92-server postgresql92-devel

データベースを初期化します。

sudo service postgresql-9.2 initdb

必要に応じて構成/var/lib/pgsql/9.2/data/postgresql.conf/var/lib/pgsql/9.2/data/pg_hba.confます。

PostgreSQLサーバーを起動します。

sudo service postgresql-9.2 start

RVM

sudo yum -y groupinstall "Development Tools"
sudo yum -y install zlib zlib-devel sqlite-devel httpd curl-devel httpd-devel apr-devel apr-util-devel mlocate man libxml2-devel libxslt-devel libffi-devel readline-devel

ルートとしてではなく、注意してください。

\curl -L get.rvm.io | sudo bash -s stable

ログアウトしてから再度オンにします。その後、which rvmと返信し/usr/local/rvm/bin/rvm、とtype rvm|head -1言う必要がありますrvm is a function

Ruby + Rails

rvm install 1.9.3 --with-openssl-dir=/usr
rvm use 1.9.3 --default
gem install rake
gem install rails

PostgreSQLgem

gem install pg -- --with-pg-config=/usr/pgsql-9.2/bin/pg_config

--with-pg-configCentOSの最新のインストールではどういうわけか必要です。そうでないと、がgem install pg見つかりませんpg_config。YMMVですが、上記のすべての手紙(私は過去数か月で十分な回数を行っています)に従えば、何かがあなたをつまずかせることがあれば私に知らせてください。

于 2012-12-05T08:20:51.540 に答える
6

次の手順でlibpqパッケージをインストールしてみてください。

sudo apt-get install libpq-dev

そのパッケージはpggemに役立ち、その後は問題ないはずです:)

于 2012-12-04T12:05:04.730 に答える
4

これを試してください、答えは私のものではありませんが、それは私のために働きました。Postgres.appアプリケーションがどこにあるかを指すことを忘れないでください:

bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

その後、

bundle update
bundle install
于 2013-11-30T17:20:16.017 に答える
3
$ sudo apt-get install libpq-dev
$ sudo apt-get install libdbd-pg-ruby1.8

それから:

$ sudo apt-get install pg  

CentOSについては、以下のリンクをお読みください。

http://wiki.postgresql.org/wiki/YUM_Installation

CentOSにpgをインストールするには

run this commands

bundle config build.pg 

gem install pg -v '0.12.0'
于 2012-12-04T12:08:36.017 に答える
1

postgresqlサーバーと対応するライブラリをインストールしてみてください。次に、pggemをインストールします。その後、それはあなたのために働くでしょう

于 2012-12-04T12:50:01.023 に答える
0

私の問題は、pg gemがすでにインストールされている前ですが、バンドルにロードされていません。解決策は次のとおりです。「rails new Demo」のような新しいアプリケーションを宣言する場合は、含める必要があります。

'--database=postgresql'。したがって、合計コマンドは次のようになります。'rails new Demo --database = postgresql'

次に、pggemファイルがバンドルされます。

バンドルでは、1つの宝石のみがストアを取得します。pggemまたはsqlite3gemのいずれか。

それに応じてdatabase.ymlファイルを編集します。

于 2012-12-08T07:55:08.920 に答える
0

同じ問題が発生し、すべての依存関係をインストールしようとしましたが、すべてが役に立ちません。結局、PostgreSQL9.4ではなくPostgreSQL9.3を使おうとしましたが、すべて問題ありません。

于 2014-06-30T08:30:12.020 に答える
0

AWS Cloud 9 Linuxの使用:

sudo yum install postgresql-libs

それから:

sudo yum install postgresql-devel

それから:

gem update --system

必要に応じて、次のようにします。

gem install bundler(Bundler 2.0)

それから:

bundle install

于 2019-06-20T23:31:08.507 に答える
-1

最初のインストール

sudo apt-get install postgresql postgresql-server-dev-9.1

次のインストール

sudo apt-get install libpq-dev

次にインストールしますgem install pg

于 2012-12-04T12:06:06.380 に答える