Heroku不会在我的Rails应用程序Gemfile中识别'pg'gem

时间:2013-12-14 20:16:16

标签: ruby-on-rails postgresql heroku

我还是Ruby on Rails的新手,我是Heroku的新手。

我已经将Rails应用程序设置为在开发和生产中使用postgres而不是sqlite3,并且我在我的Gemfile中添加了“gem'pg'”。在本地,我的应用程序运行正常。

让它在Heroku上运行是另一回事。在我将我的应用程序推送到Heroku之后,当我输入“heroku run rake db:migrate”时,它告诉我,“rake aborted!指定'postgresql'用于数据库适配器,但是没有加载gem。添加{{1你的Gemfile。“

是的,gem 'pg'在我的Gemfile中,但我仍然收到此错误。

是什么给出了?

以下是我的Gemfile现在的样子:

gem 'pg'

这是我的database.yml的样子:

source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails',        '4.0.1'
gem 'pg'

group :assets do
end

gem 'bcrypt-ruby', '~> 3.1.2'
gem 'haml'
gem 'devise', '3.0.0.rc'
gem 'protected_attributes'
gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
gem 'knockout-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'unicorn'
  gem 'rails_12factor', '0.0.2'
end

当我尝试在heroku上迁移时,这是完整的错误日志。 (再次,在当地我很好。如果重要的话,我在MacBook本地工作。)

development:
  adapter: postgresql
  encoding: unicode
  database: financemeter
  pool: 5
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: financemeter
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: dbe67fgdnnqg88
  pool: 5
  timeout: 5000
  user: njatxlpjjrzfoe
  password: HULxOtPALAk4FnzZe-_737TvPc

1 个答案:

答案 0 :(得分:1)

您的计算机上是否安装了postgresql?
如果没有,请使用自制软件来安装页面 安装完成后,请确保初始化pg数据存储区。

另外,根据你的pg的安装方式,你可能需要在database.yml文件中指定用户名和主机

  username: someuser_on_pg
  host: localhost

希望有所帮助