正确安装pg gem的问题

时间:2011-06-14 23:31:31

标签: ruby-on-rails linux postgresql amazon-ec2 pg

我有一个rails应用程序,我试图在Amazon EC2实例中运行。此应用已在各种Linux,OS X和Windows系统上正确测试。

在EC2服务器上,我从源代码构建了PostgresSQL 9。首先,“pg”gem不会安装,但我使用以下命令构建它:

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

这似乎构建得很好。但是,当我运行rake任务时,例如'rake db:migrate',我收到以下错误:

rake aborted!
libpq.so.5: cannot open shared object file: No such file or directory - /home/ec2-user/.rvm/gems/ruby-1.8.7-p334/gems/pg-0.11.0/lib/pg_ext.so

4 个答案:

答案 0 :(得分:8)

我在EC2上为pg gem做了诀窍:

sudo yum install postgresql-devel

答案 1 :(得分:4)

从错误消息和“find”命令输出的描述中,/usr/local/pgsql/lib可能不在动态链接器搜索其库的路径中。尝试将该目录添加到/etc/ld.so.conf(或类似),或在运行LD_LIBRARY_PATH之前设置rake以包含该目录。

答案 2 :(得分:1)

怪异。我完全退出RVM并以完全相同的方式完成所有操作,但这次使用ARCHFLAGS设置。我突然意识到我忘了设置它。

env ARCHFLAGS=" -arch x86_64"

答案 3 :(得分:0)

我能解决这个问题的唯一方法是添加一个符号链接,以便找到它。

ln -s /usr/pgsql-9.2/lib/libpq.so.5.5 /usr/lib/libpq.so.5