Heroku: не найдено Rakefile (но работает локально)

Я клонировал одно из своих приложений, используя Rails 3.1.3, создал приложение на Heroku на стеке кедра, нажал на Heroku, а затем попытался запустить

heroku run rake db:migrate и получил это сообщение об ошибке

No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/usr/local/lib/ruby/1.9.1/rake.rb:2367:in `raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:1991:in `run'
/usr/local/bin/rake:31:in `<main>

Я запускаю rake db:migrate в корне приложения. Приложение работает на localhost.

Любые идеи, что я могу делать неправильно?

Единственное, что я замечаю, кажется странным, заключается в том, что в сообщении об ошибке он ссылается на ruby/1.9.1/

Однако я создал приложение, использующее rvm с ruby ​​1.9.2, и когда я делаю ruby -v

ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]

Мой Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.3'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end

group :production do
  gem 'thin'
end

gem "heroku"

gem 'omniauth-facebook'
gem 'omniauth'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.1.5'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

gem "rmagick"
gem "carrierwave"
gem 'fog'
gem 'simple_form'

gem 'devise'

gem 'jquery-rails'

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

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

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', '0.8.2', :require => false
end

мой файл gitignore

# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile ~/.gitignore_global

# Ignore bundler config
/.bundle

# Ignore the default SQLite database.
/db/*.sqlite3

# Ignore all logfiles and tempfiles.
/log/*.log
/tmp

Ответ 1

Вам нужно нажать на главную ветку. От взгляда на комментарии выше, похоже, что вы этого не делаете.

Поэтому, предполагая, что вы разрабатываете свое приложение в основной ветке, вы можете развернуть с простым:

git push heroku master

Если вы не работаете с мастером, выполните следующие действия:

git push heroku your_branch_name:master

заменив your_branch_name именем используемой ветки.