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.exe
starten.cd c:\ruby\ruby-dev-kit
ausführen.ruby dk.rb init
aufrufen.ruby dk.rb install
aufrufen.- Falls Fehler auftreten, die Datei „C:\ruby\ruby-dev-kit\config.yml“ mit einem Texteditor öffnen und eine Zeile analog zu
- C:/ruby/Ruby23-x64
einfügen. - Dann nochmals
ruby dk.rb install
aufrufen.
Rails installieren, so wie im Getting-Started-Dokument beschrieben:
cmd.exe
starten.ruby -v
aufrufen. Muss die Versionsnummer anzeigen.sqlite3 --version
aufrufen. Muss die Versionsnummer anzeigen.gem install rails
aufrufen. Eventuelle Firewall-Meldungen mit „Ja“ bestätigen.rails --version
aufrufen. Muss die Versionsnummer anzeigen.
Den Bundler installieren:
cmd,.exe
starten.gem install bundler
ausführen.
Eine Beispiel-Rails-Website erstellen
So wie im Getting-Started-Dokument beschrieben:
cmd.exe
starten.- Nach
cd c:\sites
wechseln. rails new blog
aufrufen.
Die Beispiel-Rails-Website starten
So wie im Getting-Started-Dokument beschrieben vorgehen:
cmd.exe
starten.- Nach
cd c:\sites\blog
wechseln. ruby c:\ruby\RailsInstaller\Ruby2.2.0\bin\rails server
aufrufen 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 install
aufrufen:cmd.exe
starten.cd c:\sites\blog
aufrufen.bundle update coffee-script-source
aufrufen.
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.