我正在尝试使用postgresql数据库启动rails项目,但是当我尝试使用以下命令创建db时:
rake db:create
我收到以下错误消息:
耙子流产了! 没有这样的文件要加载 - pg我正在使用mac os X,因此postgresql被安装在/ Library文件夹中。我四处寻找pg文件,但我找不到它,我
答案 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应用程序。
本教程帮助我学习。