Windows Heroku Rake ausführen db: Migrationsfehler "/ usr / bin / env: ruby.exe: Keine solche Datei oder Verzeichnis"

Ich bin ziemlich neu in Rails hier und ich bin gefolgtRuby on Rails Tutorial für das meiste. Seitdem habe ich beschlossen, meine eigene Anwendung zu erstellen, aber das Rails 4 Gem in der Beta zu verwenden. Ich habe PostgreSQL auf meinem lokalen Computer (Windows 7) installiert und die Entwicklung abgeschlossen. Alles funktioniert super! (Ich liebe Rails viel mehr als die C # -, ASP- und .NET-Arbeit, die ich beruflich mache!)

Als ich mich jedoch entschied, mich an Heroku zu wenden, zog ich mir die Haare aus. Bevor ich zu Heroku stieß, habe ich den Standard gemacht:

c:\Sites\elms>git add .
c:\Sites\elms>git commit -m "My comment"
c:\Sites\elms>git push
c:\Sites\elms>git push heroku master

Ich habe den Heroku Toolbelt heruntergeladen und installiert (nichtheroku gem.) Der erste Fehler sagte mir, ich müsse sicherstellen, dass meineGemfile spezifizierte Ruby> = 1.9.3, also fügte ich "ruby 1.9.3" oben auf meinem hinzuGemfile:

source 'https://rubygems.org'
ruby "1.9.3"

gem 'rails', '4.0.0.beta1'

gem 'pg'
gem 'haml-rails'
gem 'httparty'
gem 'devise', git: 'git://github.com/plataformatec/devise.git', branch: 'rails4'
gem 'cancan'
gem 'bootstrap-sass'
gem 'formtastic'
gem 'formtastic-plus-bootstrap'

group :development do
  gem 'annotate'
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'guard-spork'
  gem 'guard-rspec'
  gem 'meta_request'
  gem 'rb-notifu'
  gem 'schema_to_scaffold'
  gem 'wdm', :platforms => [:mswin, :mingw], :require => false
  gem 'win32console'
end

group :development, :test do
  gem 'rspec-rails'
  gem 'pry'
  gem 'spork-rails', git: 'git://github.com/sahilm/spork-rails.git', branch: 'rails-4'
  gem 'spork', '~> 1.0.0rc3'
end

group :test do
  gem 'capybara'
  gem 'factory_girl_rails'
  gem "shoulda-matchers"
end

group :assets do
  gem 'sass-rails',   '~> 4.0.0.beta1'
  gem 'coffee-rails', '~> 4.0.0.beta1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'    
gem 'turbolinks'
gem 'jbuilder', '~> 1.0.1'

Der Push funktionierte schließlich ohne Probleme, aber als ich versuchte, die Datenbank zu migrieren, bekam ich Folgendes:

c:\Sites\elms>heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.2205
/usr/bin/env: ruby.exe: No such file or directory

Ich habe auch versucht:heroku run bin/rake db:migrate, und es gibt den gleichen Fehler. ich benutzeErste Schritte mit Rails 4.x auf Heroku meine Rails 4 App auf Heroku zu schieben. Jede Hilfe wäre sehr dankbar!

Oh, ich hatte auch ein Problem nach dem Laufen:

c:\Sites\elmx>gem install rails --pre

Ich habe das durch Hinzufügen gelöstC:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\bin; zu meiner Umgebung Pfadvariable in Windows 7 (es gab mir einen Fehler, dass es keine Schienen finden konnte, wenn versucht wurde, etwas auszuführen, wie:

rails -v
rails g controller User

Aber wenn ich nur tippte:

rails

Es würde mir alle Befehle geben, die ich verwenden könnte (als ob ich laufen würde)rails -h)

Ich richte meinen Computer mit dem Windows Rails Installer ein und installiere dann den Rails 4 gem. Das ist extrem frustrierend und ich habe das Internet durchsucht, um jemanden mit dem gleichen Problem zu finden.

EDIT 1:

Ich habe gerade meine Benutzer-Umgebungsvariable Path gelöscht und meine System-Umgebungsvariable Path folgendermaßen geändert:

 C:\RailsInstaller\Ruby1.9.3\bin;C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\bin;C:\Program Files (x86)\git\cmd;C:\Program Files (x86)\Heroku\bin

Aktualisierte meine Pfadvariable auf das oben Gesagte und deinstallierte Heroku Toolbelt, installierte es dann erneut (daher ist das Heroku-Teil in der Pfadvariable enthalten) und versuchte Folgendes:

c:\Sites\elms>ruby -v
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]

c:\Sites\elms>rails -v
Rails 4.0.0.beta1

c:\Sites\elms>heroku -v
 !    `-v` is not a heroku command.
 !    Perhaps you meant `-h`.
 !    See `heroku help` for a list of available commands.

c:\Sites\elms>heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.2100
/usr/bin/env: ruby.exe: No such file or directory

c:\Sites\elms>heroku run bin/rake db:migrate
Running `bin/rake db:migrate` attached to terminal... up, run.2872
/usr/bin/env: ruby.exe: No such file or directory

EDIT 2:

Also bin ich etwas weiter gekommen. Ich fand heraus, dass ich ausführen konnte:

c:\Sites\elms>heroku run bash
~ $ cd bin
~/bin $ ruby rake db:migrate

Und das würde dann Rake ausführen und meine Datenbank auf Heroku migrieren. Aber das Problem wird noch schlimmer! Ich versuche, zur Seite zu navigieren, und es wird angezeigt, dass etwas nicht stimmt. Daher führe ich die Protokolldatei aus und bekomme Folgendes:

c:\Sites\elms>heroku logs
2013-03-16T05:34:20+00:00 heroku[api]: Enable Logplex by
2013-03-16T05:34:20+00:00 heroku[api]: Release v2 created by 
2013-03-16T05:34:36+00:00 heroku[slugc]: Slug compilation started
2013-03-16T05:35:37+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 13423 -e $RAILS_ENV`
2013-03-16T05:35:37+00:00 heroku[slugc]: Slug compilation finished
2013-03-16T05:35:37+00:00 app[web.1]: bash: bin/rails: No such file or directory

2013-03-16T05:35:39+00:00 heroku[web.1]: Process exited with status 127
2013-03-16T05:35:39+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 33539 -e $RAILS_ENV`
2013-03-16T05:35:40+00:00 app[web.1]: /usr/bin/env: ruby.exe: No such file or directory
2013-03-16T05:35:41+00:00 heroku[web.1]: Process exited with status 127
2013-03-16T05:35:41+00:00 heroku[web.1]: State changed from starting to crashed
2013-03-16T05:35:41+00:00 heroku[web.1]: State changed from crashed to starting
2013-03-16T05:35:44+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 23452 -e $RAILS_ENV`
2013-03-16T05:35:44+00:00 app[web.1]: /usr/bin/env: ruby.exe: No such file or directory

Das wird wirklich frustrierend. Ich habe keine Ahnung, was zum Teufel/usr/bin/env ist. Das Einzige, was ich erraten kann, ist, dass es so istPATH für Windows. Wenn dies der Fall ist, warum weiß der Server nicht, woruby.exe ist?

Ich habe eine Nicht-Rails-4-Anwendung erstellt und konnte sie in Heroku veröffentlichen und ohne Probleme anzeigen. Das nervt mich wirklich.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage