Heroku: Рейк-файл не найден (но работает локально) - PullRequest
10 голосов
/ 31 марта 2012

Я клонировал одно из своих собственных приложений с помощью 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. Приложение работает на локальном хосте.

Есть идеи, что я могу делать не так?

Единственное, что мне кажется странным, это то, что в сообщении об ошибке это относится к 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

Ответы [ 2 ]

30 голосов
/ 02 апреля 2012

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

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

git push heroku master

Если вы не разрабатываете мастер-развертывание с:

git push heroku your_branch_name:master

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

0 голосов
/ 18 октября 2018

Итак, моя промежуточная ветвь уже была клонирована и готова к развертыванию

Я добавил пульт для приложения "Герою" heroku git:remote -a heroku-webapp-name-here

Тогда я пытался сделать что-то вроде этого: (и не работал) git push heroku staging

Наконец-то это сработало. git push heroku staging:master

Проблема в том, что если вы посмотрите на панель управления heroku, то увидите, что приложение heroku не является ruby ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...