【发布时间】:2013-07-09 06:03:33
【问题描述】:
我有一个 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
【问题讨论】:
-
您是否安装了 Postgres 的开发文件?构建驱动程序时,需要这些文件才能正确构建。
-
您应该使用
rvm来安装gem,而不是使用gem工具吗? -
是的。我正在使用 RVM。另外,查看 find 命令的输出: sudo find / -name libpq.so.5 -ls 153069 0 lrwxrwxrwx 1 postgres postgres 12 Jun 10 04:46 /usr/local/pgsql/lib/libpq.so.5 -> libpq.so.5.3
-
FWIW,上个月我终于开始在我的单个 EC2(c1.medium 实例)Rails(2.x,passenger,Apache)应用程序上安装 RVM。在周末 - 使用率低于正常水平 - 服务器负载是正常(工作日)负载的两倍多,所以我不得不立即删除 RVM。在将其投入生产之前,您需要测试性能。 EC2 堆栈已经够慢了。
标签: ruby-on-rails linux postgresql amazon-ec2 pg