任务中止!找不到文件--pg(在Rails中创建PostgreSQL数据库)

7

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

rake db:create

我收到以下错误消息:

rake aborted! no such file to load -- pg

我使用的是mac os X系统,所以postgresql已经安装在/Library文件夹中。我已经寻找pg文件,但是没有找到。

5个回答

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版本。

我是这样安装的gem。但是当我执行rake db:create时,仍然出现了rake aborted!没有找到文件--pg 更新:我忘记将其包含在Gemfile中并进行bundle install。谢谢。 - Fgblanch

7

请确保已安装pg gem。

gem install pg

或者

如果使用bundler,请在Gemfile中包含gem 'pg'并运行bundle install


我尝试安装它,但在安装时出现以下错误:找不到'libpq-fe.h'头文件。有什么想法吗? - Fgblanch

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/ 阅读完文章和所有评论后,我成功地解决了问题。

该问题的被接受答案恰好提出了相同的解决方案。 - Fgblanch

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 = 真让人头疼!

我不知道为什么大家都用mySQL而不是Postgres。我从来没有遇到过像Postgres这样的问题。mySQL易于安装和使用,而Postgres总是让我抓狂。

经过数小时的故障排除和搜索烂透了的Postgres Ruby驱动程序,我非常生气。明天我会看看MongoDB,希望它比Postgres更容易应用!

晚安!


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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接