Hier eine kurze Übersicht, wie ich mit Ruby on Rails und Ruby unter Windows 10 angefangen habe.
Setup-Dateien downloaden und installieren
- Ordner „C:\Ruby“ erstellen.
- Ruby-Installer-Datei „rubyinstaller-2.3.1-x64.exe“ oder neuer von rubyinstaller.org/downloads downloaden und nach „C:\Ruby\Ruby23-x64“ installieren.
- Ruby-Development-Kit-Datei „DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe“ oder neuer von rubyinstaller.org/downloads downloaden und nach „C:\Ruby\ruby-dev-kit“ installieren.
- Ruby-on-Rails-Datei „railsinstaller-3.2.0.exe“ oder neuer von railsinstaller.org/en downloaden und nach „C:\ruby\RailsInstaller“ installieren. Die Websites liegen später in
C:\Sites.
Wichtig hierbei: Installationspfade dürfen keine Leerzeichen enthalten.
Installationen konfigurieren
Ruby Development Kit konfigurieren, so wie hier beschrieben:
cmd.exestarten.cd c:\ruby\ruby-dev-kitausführen.ruby dk.rb initaufrufen.ruby dk.rb installaufrufen.- Falls Fehler auftreten, die Datei „C:\ruby\ruby-dev-kit\config.yml“ mit einem Texteditor öffnen und eine Zeile analog zu
- C:/ruby/Ruby23-x64einfügen. - Dann nochmals
ruby dk.rb installaufrufen.
Rails installieren, so wie im Getting-Started-Dokument beschrieben:
cmd.exestarten.ruby -vaufrufen. Muss die Versionsnummer anzeigen.sqlite3 --versionaufrufen. Muss die Versionsnummer anzeigen.gem install railsaufrufen. Eventuelle Firewall-Meldungen mit „Ja“ bestätigen.rails --versionaufrufen. Muss die Versionsnummer anzeigen.
Den Bundler installieren:
cmd,.exestarten.gem install bundlerausführen.
Eine Beispiel-Rails-Website erstellen
So wie im Getting-Started-Dokument beschrieben:
cmd.exestarten.- Nach
cd c:\siteswechseln. rails new blogaufrufen.
Die Beispiel-Rails-Website starten
So wie im Getting-Started-Dokument beschrieben vorgehen:
cmd.exestarten.- Nach
cd c:\sites\blogwechseln. ruby c:\ruby\RailsInstaller\Ruby2.2.0\bin\rails serveraufrufen und den Server starten.- Im Browser jetzt auf
http://localhost:3000/navigieren.
Damit sollte die Anwendung dann laufen und so was anzeigen wie:
Beim Aufruf der URL sollte im Konsolenfenster ein Log der abgerufenen URLs/Inhalte angezeigt werden.
Der Server wird mit Strg+C wieder gestoppt.
Anwendung entwickeln
Jetzt kann ich mit dem Anpassen der Beispiel-Anwendung beginnen, so wie im Abschnitt „4.2 Say ‚Hello‘, Rails“ beschrieben.
Troubleshooting — Fehler nach dem Hinzufügen des ersten Views/Controllers
Nachdem ich eine View erstellt habe, so wie im Abschnitt „4.2 Say ‚Hello‘, Rails“ beschrieben, habe ich einen Fehler im Browser bekommen:
ExecJS::ProgramError in Welcome#index
Showing C:/Sites/blog/app/views/layouts/application.html.erb where line #7 raised:
TypeError: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.
Extracted source (around line #7):<%= csrf_meta_tags %>
<%= stylesheet_link_tag ‚application‘, media: ‚all‘, ‚data-turbolinks-track‘: ‚reload‘ %>
<%= javascript_include_tag ‚application‘, ‚data-turbolinks-track‘: ‚reload‘ %>Rails.root: C:/Sites/blog
Laut Stack Overflow gibt es Probleme mit coffee-script-source 1.9.0 unter Windows.
Die Lösung war dann:
- „C:\Sites\blog\Gemfile“ mit einem Texteditor bearbeiten.
- In Zeile 2 eine Zeile
gem 'coffee-script-source', '1.8.0'ergänzen. - Mit dem zuvor installierten Bundler jetzt
bundle installaufrufen:cmd.exestarten.cd c:\sites\blogaufrufen.bundle update coffee-script-sourceaufrufen.
Troubleshooting — Fehler nach dem Bundling-Update
Anschließend hatte ich einen weiteren Fehler beim Starten der Website:
C:/ruby/Ruby23-x64/lib/ruby/gems/2.3.0/gems/sqlite3-1.3.11-x64-mingw32/lib/sqlite3.rb:6:in `require’: cannot load such file – sqlite3/sqlite3_native (LoadError)
Laut Stack Overflow muss ein Pfad angepasst werden:
- Die Datei „C:\ruby\Ruby23-x64\lib\ruby\gems\2.3.0\specifications\sqlite3-1.3.11-x64-mingw32.gemspec“ (oder neuer) mit einem Texteditor öffnen.
- Die Zeile
s.require_paths = ["lib"]suchen. - Diese Zeile ändern in
s.require_paths = ["lib/sqlite3"](bzw. entsprechend der vorhanden Versionsnummer anpassen).
Das hat bei mir funktioniert, anschließend konnte ich den Server starten.
Die Meldung kam dann erneut im Browser; ich habe einfach nochmals F5 im Browser gedrückt, also die Seite neu geladen.
Anschließend kam ein Fehler:
ActiveRecord::ConnectionNotEstablished
No connection pool with id primary found.
Aufgeben
Ich gebe jetzt erst mal auf und versuche mich mit der integrierten Entwicklungsumgebung (IDE) RubyMine.
Ggf. probiere ich die oberen Schritte alle nochmals mit den 32-Bit-Versionen der Tools aus, anstatt den 64-Bit-Versionen und hoffe, dass weniger Fehler auftreten.
