耙子流产了!没有这样的文件加载 - pg(在rails中创建postgre数据库)

时间:2010-11-24 22:27:16

标签: ruby-on-rails macos postgresql rake

我正在尝试使用postgresql数据库启动rails项目,但是当我尝试使用以下命令创建db时:

rake db:create

我收到以下错误消息:

耙子流产了! 没有这样的文件要加载 - pg

我正在使用mac os X,因此postgresql被安装在/ Library文件夹中。我四处寻找pg文件,但我找不到它,我

5 个答案:

答案 0 :(得分:8)

如果您使用从enterprisedb下载的PostgreSQL 9,则需要以下列方式之一安装pg gem:

如果您使用rvm,请使用:

env ARCHFLAGS="-arch x86_64" \
  gem install pg -- \
  --with-pg-include=/Library/PostgreSQL/9.0/include/ \
  --with-pg-lib=/Library/PostgreSQL/9.0/lib/

否则使用:

sudo env ARCHFLAGS="-arch x86_64" \
  gem install pg -- \
  --with-pg-include=/Library/PostgreSQL/9.0/include/ \
  --with-pg-lib=/Library/PostgreSQL/9.0/lib/

如果这不起作用,我们需要知道哪个版本的OSX以及哪个版本的PostgreSQL。

答案 1 :(得分:7)

确保安装了pg gem。

gem install pg

在您的Gemfile中包含gem pg,如果使用bundler

,则运行bundle install

答案 2 :(得分:2)

好的。另一天,另一个机会。

我发现了问题!如果你想安装“gem install pg”,你需要在你的机器上安装postgres头文件。在我通过Macports安装Postgres 8.3后,我也能够安装pg gem。我用这个命令来安装pg gem:

sudo env ARCHFLAGS='-arch i386' gem install pg

我在这篇博文中找到了解决方案:

http://flux88.com/blog/installing-postgresql-for-rails-on-mac-os-x/

阅读完帖子和所有评论后,我可以解决问题。

答案 3 :(得分:1)

对我来说它不起作用。

ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /opt/local/bin/ruby1.9 extconf.rb --with-pg-include=/Library/PostgreSQL/8.4/include/ --with-pg-lib=/Library/PostgreSQL/8.4/lib/ --with-pg-config=/Library/PostgreSQL/8.4/bin/pg_config
Using config values from /Library/PostgreSQL/8.4/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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.

Ruby + PostgreSQL = ASS中的痛苦!

我不知道为什么每个人都使用mySQL而不是Postgres。使用mySQL我从未遇到过这么多麻烦。它易于安装且易于使用。有了Postgres,我总是遇到问题。

经过几个小时的故障排除和糟糕的postgres红宝石司机的googeling我很生气。明天我将看看MongoDB,我希望它比Postgres更少痛苦!

晚安,晚安!

答案 4 :(得分:0)

问题是你没有正确安装PostgreSQL。

用户Brew安装PostgreSQL。

brew update

然后安装PostgreSQL。

brew install postgresql

确保按照PostgreSQL的说明进行操作,并确保您安装的版本与您使用的版本相符。

你可以通过这样做来获得版本。

psql --version

PostgreSQL值得学习,比MYSQL更先进。如果使用得当,它将改进您的Rails应用程序。

本教程帮助我学习。

问题是你没有正确安装PostgreSQL。

用户Brew安装PostgreSQL。

brew update

然后安装PostgreSQL。

brew install postgresql

确保按照PostgreSQL的说明进行操作,并确保您安装的版本与您使用的版本相符。

你可以通过这样做来获得版本。

psql --version

PostgreSQL值得学习,比MYSQL更先进。如果使用得当,它将改进您的Rails应用程序。

本教程帮助我学习。

http://railscasts.com/episodes/342-migrating-to-postgresql