3

我有一个我试图在 Amazon EC2 实例中运行的 Rails 应用程序。此应用程序已在各种 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

4 回答 4

8

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

sudo yum install postgresql-devel
于 2013-07-08T22:03:33.760 回答
4

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

于 2011-06-15T13:20:26.627 回答
1

奇怪的。我完全退出了 RVM,并以完全相同的方式重新进行了所有操作,但这次使用的是 ARCHFLAGS 集。我突然想到我忘了设置它。

env ARCHFLAGS=" -arch x86_64"
于 2011-06-15T01:00:16.193 回答
0

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

ln -s /usr/pgsql-9.2/lib/libpq.so.5.5 /usr/lib/libpq.so.5
于 2012-12-27T21:33:38.360 回答