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 ` 

当我运行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 

你必须推送到主分支。 从上面的评论看,你看起来并没有这样做。

因此,假设您正在主分支中开发应用程序,您可以使用以下简单部署:

 git push heroku master 

如果您没有使用以下方式开发master部署:

 git push heroku your_branch_name:master 

将your_branch_name替换为您正在使用的分支的名称。

所以我的登台分支已经克隆并准备部署

我为heroku app heroku git:remote -a heroku-webapp-name-here添加了一个遥控器heroku git:remote -a heroku-webapp-name-here

然后我试图做这样的事情:(并且没有工作) git push heroku staging

最后运行这个工作喜欢一个魅力: git push heroku staging:master

问题是,如果你查看heroku仪表板,你会发现heroku应用程序不是ruby