我试图使用postgresql数据库启动一个rails项目,但是当我尝试使用以下命令创建数据库时:
rake db:create
我收到以下错误消息:
rake aborted! no such file to load -- pg
我使用的是mac os X系统,所以postgresql已经安装在/Library文件夹中。我已经寻找pg文件,但是没有找到。
我试图使用postgresql数据库启动一个rails项目,但是当我尝试使用以下命令创建数据库时:
rake db:create
我收到以下错误消息:
rake aborted! no such file to load -- pg
我使用的是mac os X系统,所以postgresql已经安装在/Library文件夹中。我已经寻找pg文件,但是没有找到。
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/
请确保已安装pg gem。
gem install pg
或者
如果使用bundler,请在Gemfile中包含gem 'pg'
并运行bundle install
。
好的。又是新的一天,新的机会。
我找到了问题所在!如果你想安装“gem install pg”,你需要在你的计算机上安装Postgres头文件。在我通过Macports安装Postgres 8.3之后,我也能够安装pg gem。我使用以下命令安装pg gem:
sudo env ARCHFLAGS='-arch i386' gem install pg
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更容易应用!
晚安!
问题在于您没有正确安装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应用程序。
这个教程帮助了我学习。