当我尝试运行时
heroku rake db:migrate
我收到以下错误:
rake aborted! Please install the postgresql adapter:
gem install activerecord-postgresql-adapter
(pg is not part of the bundle. Add it to Gemfile.) Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace)
这是我的 Gemfile 的样子:
group :production do
gem 'pg'
end
group :development, :test do
gem 'turn', '0.8.2', :require => false
gem 'sqlite3', '1.3.5'
end
所以我将“pg”添加到 Gemfile,但它仍然报错。我有点失望,因为我不知道下一步该做什么..?
更新
命令 heroku run rake db:migrate
导致同样的错误。
这是我的 Gemfile:
来源 'http://rubygems.org'
gem 'rails', '3.1.3'
group :production 做
gem 'pg', '0.12.0'
结束
group :development, :test do
# pretty-print 测试输出
gem 'turn', '0.8.2', :require => false
gem 'sqlite3', '1.3.5'
结束
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
# Gems 仅用于 Assets 而不是必需的
# 在生产环境中默认。
group :assets 做
gem 'sass-rails', '~> 3.1.5'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
结束
gem 'jquery-rails'
# 使用 ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# 使用 unicorn 作为 web 服务器
# gem ' unicorn '
# 使用 Capistrano 部署
# gem 'capistrano'
# 使用调试器
# gem 'ruby-debug19', :require => 'ruby-debug'
非常感谢您的帮助!
更新 2
这是我的 Gemfile.lock:
GEM
remote: http://rubygems.org/
specs:
actionmailer (3.1.3)
actionpack (= 3.1.3)
mail (~> 2.3.0)
actionpack (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
rack (~> 1.3.5)
rack-cache (~> 1.1)
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.3)
activemodel (3.1.3)
activesupport (= 3.1.3)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
activeresource (3.1.3)
activemodel (= 3.1.3)
activesupport (= 3.1.3)
activesupport (3.1.3)
multi_json (~> 1.0)
ansi (1.4.1)
arel (2.2.1)
builder (3.0.0)
coffee-rails (3.1.1)
coffee-script (>= 2.2.0)
railties (~> 3.1.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.1.3)
erubis (2.7.0)
execjs (1.2.12)
multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.19)
railties (~> 3.0)
thor (~> 0.14)
json (1.6.3)
mail (2.3.0)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.17.2)
multi_json (1.0.4)
pg (0.12.0)
rake-compiler (~> 0.7)
polyglot (0.3.3)
rack (1.3.5)
rack-cache (1.1)
rack (>= 0.4)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.1.3)
actionmailer (= 3.1.3)
actionpack (= 3.1.3)
activerecord (= 3.1.3)
activeresource (= 3.1.3)
activesupport (= 3.1.3)
bundler (~> 1.0)
railties (= 3.1.3)
railties (3.1.3)
actionpack (= 3.1.3)
activesupport (= 3.1.3)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2.2)
rake-compiler (0.7.9)
rake
rdoc (3.12)
json (~> 1.4)
sass (3.1.12)
sass-rails (3.1.5)
actionpack (~> 3.1.0)
railties (~> 3.1.0)
sass (~> 3.1.10)
tilt (~> 1.3.2)
sprockets (2.0.3)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.5)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
turn (0.8.2)
ansi (>= 1.2.2)
tzinfo (0.3.31)
uglifier (1.2.0)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
PLATFORMS
ruby
DEPENDENCIES
coffee-rails (~> 3.1.1)
jquery-rails
pg (= 0.12.0)
rails (= 3.1.3)
sass-rails (~> 3.1.5)
sqlite3 (= 1.3.5)
turn (= 0.8.2)
uglifier (>= 1.0.3)
最佳答案
如果您使用的是 Cedar,则需要运行 heroku run rake db:migrate
尽管听起来并非如此。如果您正在运行 rails 3 或 >,您应该使用 cedar stack。
您也可以尝试将 gem 'pg', "~> 0.12.0"
添加到您的 gem 文件中,然后再次运行 bundler (bundle install
) 应该会得到 pg到你的 Gemfile.lock(寻找类似:pg (0.12.0)
)
如果这不起作用,可以告诉我们您的环境并粘贴 heroku --trace 日志吗?
关于ruby-on-rails - 运行 heroku rake db :migrate 时出现 Heroku 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575477/