Heroku在启动Rails 3.1应用时出现错误,缺少Postgres gem。

19 浏览
0 Comments

Heroku在启动Rails 3.1应用时出现错误,缺少Postgres gem。

我正在尝试部署到Heroku。\nRails 3.1.0.rc4,\n我从Heroku日志中得到以下错误:\n

启动进程的命令:'thin -p 48902 -e production -R /home/heroku_rack/heroku.ru start'
2011-06-20T11:25:44+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.0.rc4/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection':请安装postgresql适配器:`gem install activerecord-postgresql-adapter`(pg不是bundle的一部分,请将其添加到Gemfile中。)(RuntimeError)

\n我尝试安装activerecord-postgresql-adapter,但是我得到了以下错误:\n

在Gemfile中列出的任何gem源中找不到'activerecord-postgresql-adapter(>= 0)'。

\n所以我尝试将以下内容添加到我的Gemfile中\ngem \'pg\'\n这产生了以下错误:\n

使用本机扩展安装pg(0.11.0)/Users/imac/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions':错误:无法构建gem本机扩展。(Gem::Installer::ExtensionBuildError)

\n有任何想法吗?

0
0 Comments

根据我在Heroku官方文档中找到的解决方案,他们建议为postgresql创建一个不同的组。

首先,需要在Gemfile文件中添加以下内容:

group :production do
  gem 'pg'
end

然后,在终端中运行以下命令,以确保Gemfile.lock文件已更新:

$ bundle install --without production
$ bundle install --deployment

最后,将应用推送到Heroku:

$ git push heroku master

这样应该就能解决Heroku启动rails3.1应用时缺少postgres gem的问题了。

0
0 Comments

当在Heroku上启动Rails3.1应用程序时出现的Heroku错误,缺少postgres gem。

出现这个问题的原因是没有在计算机上安装PostgreSQL。需要先安装PostgreSQL,然后再安装pg gem。

在Gemfile文件中添加以下内容:

group :production do
  gem 'therubyracer-heroku', '0.8.1.pre3' # you will need this too
  gem 'pg'
end

如果系统上没有安装PostgreSQL,可以按照以下步骤在Ubuntu上安装:

sudo apt-get install postgresql

然后执行以下命令安装libpq-dev:

sudo apt-get install libpq-dev

另外,therubyracer 0.9.4在Heroku上似乎能够正常编译,我不需要使用'therubyracer-heroku' gem。

希望以上方法对你有帮助。感谢你的建议。

0
0 Comments

Heroku error when launch rails3.1 app missing postgres gem

你不需要在本地安装Postgres。在你的Gemfile文件中,按照johnny-grass的建议,将'pg'放在:production组中,然后当你运行bundle命令时,只需指定--without production参数,就像这样:bundle --without production

不幸的是,你必须记住在运行bundler时使用这个参数,但至少你不需要在本地安装和维护postgres。

请注意,Heroku“强烈建议不要”使用sqlite,称“你的生产环境和开发环境应尽可能相同”http://devcenter.heroku.com/articles/rails3

我在本地机器上安装了这个gem,而没有安装Postgres或使用bundle --without production。你有关于如何完成这个的详细信息吗?

0