GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ruby on Rails unter Windows ist nicht nur möglich, es ist fabelhaft mit WSL2 und VS Code

Ich versuche seit vielen Jahren immer wieder, Spaß an der Entwicklung von Ruby on Rails unter Windows zu haben. Ich habe Ruby unter Windows schon vor 13 Jahren gemacht. Es wurden viele tapfere Anstrengungen unternommen, um Rails unter Windows zu einer guten Erfahrung zu machen. Da Windows 10 jedoch Linux mit WSL (Windows Subsystem for Linux) und ausführen kann Jetzt läuft Windows unter Linux mit nahezu nativer Geschwindigkeit mit einem tatsächlich verfügbaren Linux-Kernel, der WSL2 verwendet. Ruby on Rails-Leute, die Windows verwenden, sollten ihre Arbeit in WSL2 erledigen.

Ruby on Rails unter Windows ausführen

Holen Sie sich ein aktuelles Windows 10

WSL2 wird später in diesem Jahr veröffentlicht, aber vorerst können Sie es ganz einfach erhalten, indem Sie sich bei Windows Insiders Fast anmelden und sicherstellen, dass Ihre Windows-Version 18945 oder höher ist. Führen Sie einfach "winver" aus, um Ihre Build-Nummer anzuzeigen. Führen Sie Windows Update aus und erhalten Sie die neueste Version.

WSL2 aktivieren

Sie möchten das neueste Windows-Subsystem für Linux. Führen Sie an einer PowerShell-Admin-Eingabeaufforderung Folgendes aus:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

und gehen Sie zum Windows Store und suchen Sie nach „Linux“ oder holen Sie sich direkt Ubuntu 18.04 LTS. Laden Sie es herunter, führen Sie es aus, erstellen Sie Ihren sudo-Benutzer.

Stellen Sie sicher, dass Ihre Distribution mit WSL2 mit maximaler Geschwindigkeit läuft. Diese frühere PowerShell-Eingabeaufforderung führt wsl --list -v aus, um Ihre Distributionen und ihre WSL-Versionen anzuzeigen.

C:\Users\Scott\Desktop> wsl --list -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu Stopped 1
WLinux Stopped 1

Sie können jede WSL1-Distribution wie diese aktualisieren, und sobald es fertig ist, ist es fertig.

wsl --set-version "Ubuntu-18.04" 2

Und natürlich können Sie sich gerne coole Schriftarten und Stile holen und sich ein schönes glänzendes Linux-Erlebnis verschaffen ... vielleicht mit dem Windows Terminal.

Holen Sie sich das Windows-Terminal

Bonuspunkte, holen Sie sich das neue Open-Source-Windows-Terminal für ein besseres Erlebnis an der Befehlszeile. Installieren Sie es, NACHDEM Sie Ubuntu oder ein Linux eingerichtet haben, und es füllt das Menü automatisch für Sie aus. Andernfalls bearbeiten Sie Ihre profiles.json und erstellen Sie ein Profil mit einer Befehlszeile wie dieser:

"commandline" : "wsl.exe -d Ubuntu-18.04"

Sehen Sie, wie ich wsl -d (für Distribution) mit dem Kurznamen der Distribution aufrufe?

Da ich eine echte Ubuntu-Umgebung unter Windows habe, kann ich einfach diesen Anweisungen folgen, um Rails einzurichten!

Ruby on Rails einrichten

Ubuntu-Anweisungen funktionieren, weil es Ubuntu ist! https://gorails.com/setup/ubuntu/18.04

Außerdem kann ich so viele Linuxe installieren, wie ich möchte, sogar eine Dev vs. Prod-Umgebung, wenn ich möchte. WSL2 ist viel leichter als eine vollständige virtuelle Maschine.

Sobald Rails eingerichtet ist, werde ich versuchen, eine neue Hallo-Welt zu erstellen:

rails new myapp

und hier ist das Ergebnis!

Ich kann auch "explorer.exe" ausführen. und starte Windows Explorer und sehe und verwalte meine Linux-Dateien. Das ist jetzt in WSL2 erlaubt, weil es einen Plan9-Server für den Dateizugriff betreibt.

Installieren Sie VS Code und das VS Code Remote Extension Pack

Ich werde das VSCode Remote-Erweiterungspaket installieren, damit ich von Windows aus auf Remote-Computern ODER direkt in WSL oder Container entwickeln kann. Ich kann auf die untere Ecke von VS Code klicken oder in der Befehlspalette nach dieser Liste von Menüelementen suchen. Hier kann ich "Ordner in WSL erneut öffnen" und die Distribution auswählen, die ich verwenden möchte.

Nachdem ich nun den Ordner für WSL-Entwicklung geöffnet habe, schauen Sie sich die untere linke Ecke genau an. Sie können sehen, dass ich mich in einem WSL-Entwicklungsmodus befinde UND Visual Studio Code empfiehlt, dass ich eine Ruby VS Code-Erweiterung installiere … innerhalb von WSL! Ich habe nicht einmal Ruby und Rails unter Windows. Ich werde die Ruby-Sprachserver und die Headless-Teile von VS Code live in WSL – in Linux – haben, wo sie am nützlichsten sind.

Diese Synergie, dieses Gleichgewicht zwischen Windows (das mir Spaß macht) und Linux (dessen Kommandozeile mir Spaß macht) hat sich als super produktiv herausgestellt. Ich kann alles tun, was ich will – Go, Rust, Python, .NET, Ruby – und reibungslos zwischen Umgebungen wechseln. Es gibt keine klare Trennung wie bei der „run it in a VM“-Lösung. Ich kann von Linux aus über /mnt/c auf meine Windows-Dateien zugreifen, und ich kann von Windows aus immer auf meine Linux-Dateien unter \\wsl$ zugreifen.

Beachten Sie, dass ich den Rails-Server -b=0.0.0.0 ausführe, um alle verfügbaren IPs zu binden, und dies macht Rails für "localhost" verfügbar, sodass ich von Windows aus auf die Rails-Site zugreifen kann! Es ist mein Rechner, also mein lokaler Host (die Netzwerkkomplexität wird von WSL2 gehandhabt).

$ rails server -b=0.0.0.0
=> Booting Puma
=> Rails 6.0.0.rc2 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.2-p47), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

Hier in neuem Edge (Chrom). Dies ist also Ruby on Rails, das in WSL ausgeführt wird, wie es von Windows aus aufgerufen wird, und verwendet den neuen Edge mit Chromium als Herzstück. Katzen und Hunde, Zusammenleben, Massenhysterie.

Noch besser, ich kann das Juwel ruby-debug-ide in WSL installieren und mache jetzt interaktives Debugging von VS Code, aber beachten Sie noch einmal, dass die "Arbeit" in WSL stattfindet.

Viel Spaß!

Sponsor: Holen Sie sich den neuesten JetBrains Rider mit WinForms-Designer, Bearbeiten und Fortfahren und einem IL-Viewer (Intermediate Language). Vorläufige C# 8.0-Unterstützung, Umbenennungsumgestaltung für F#-definierte Symbole in Ihrer gesamten Lösung und benutzerdefinierte Designs sind enthalten.


Linux
  1. Windows- und Linux-Interoperabilität:Ein Blick auf Samba

  2. Linux – Warum verwenden wir Su – und nicht nur Su?

  3. Zeigen Sie die DELL-Service-Tag-Nummer und den Express-Servicecode unter Linux und Windows an

  4. Ist es möglich, dass der Linux-Dateideskriptor 0 1 2 nicht für stdin, stdout und stderr gilt?

  5. Welches Dateisystem soll verwendet werden, wenn sowohl Windows als auch Linux verwendet werden?

Mit NitroShare können Sie Dateien ganz einfach zwischen Linux, Windows und Mac austauschen

Beheben Sie, dass Grub für Windows- und Linux-Dual-Boot-Systeme nicht angezeigt wird

Ein Windows-Typ in einer Linux-Welt:VS-Code und Remote-SSH

Verwenden von Tailscale unter Windows für eine einfachere Vernetzung mit WSL2 und Visual Studio Code

Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

Ruby on Rails auf Azure App Service (Websites) mit Linux (und Ubuntu auf Windows 10)