GNU/Linux >> Znalost Linux >  >> Linux

Ruby on Rails na Windows není jen možný, jeho báječné použití WSL2 a VS Code

Zkoušel jsem si užívat vývoj Ruby on Rails ve Windows už mnoho let. Dělal jsem Ruby na Windows už před 13 lety. Bylo vynaloženo mnoho statečných snah, aby se Rails na Windows stal dobrým zážitkem. Vzhledem k tomu, že Windows 10 může provozovat Linux s WSL (Windows Subsystem for Linux) a nyní Windows běží Linux téměř nativní rychlostí se skutečným dodávaným linuxovým jádrem používajícím WSL2, lidé z Ruby on Rails používající Windows by měli dělat svou práci ve WSL2.

Spuštění Ruby on Rails v systému Windows

Získejte nejnovější Windows 10

WSL2 bude vydán později v tomto roce, ale prozatím jej můžete snadno získat, když se zaregistrujete do programu Windows Insiders Fast a ujistěte se, že vaše verze Windows je 18945 nebo vyšší. Stačí spustit "winver" a zobrazit číslo sestavení. Spusťte Windows Update a získejte nejnovější.

Povolit WSL2

Budete chtít nejnovější subsystém Windows pro Linux. Z výzvy správce PowerShellu spusťte toto:

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

a přejděte do obchodu Windows Store a vyhledejte „Linux“ nebo přímo získejte Ubuntu 18.04 LTS. Stáhněte si jej, spusťte jej, vytvořte si uživatele sudo.

Ujistěte se, že vaše distribuce běží na maximální rychlost s WSL2. Ta dřívější výzva PowerShellu spusťte wsl --list -v a zobrazí se vaše distribuce a jejich verze WSL.

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

Takto můžete upgradovat jakoukoli distribuci WSL1 a jakmile je hotovo, je hotovo.

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

A rozhodně neváhejte a pořiďte si skvělá písma a styly a udělejte si pěkný lesklý Linux...možná s Windows Terminal.

Získejte Windows Terminal

Bonusové body, získejte nový open source Windows Terminal pro lepší práci na příkazovém řádku. Nainstalujte jej PO nastavení Ubuntu nebo Linuxu a automaticky za vás vyplní svou nabídku. Jinak upravte svůj profiles.json a vytvořte profil pomocí příkazového řádku, jako je tento:

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

Podívejte se, jak volám wsl -d (pro distro) s krátkým názvem distribuce?

Vzhledem k tomu, že mám skutečné prostředí Ubuntu ve Windows, mohu pouze postupovat podle těchto pokynů a nastavit Rails!

Nastavení Ruby on Rails

Pokyny pro Ubuntu fungují, protože je to Ubuntu! https://gorails.com/setup/ubuntu/18.04

Navíc si mohu nainstalovat tolik Linuxů, kolik chci, dokonce i prostředí Dev vs. Prod, pokud chci. WSL2 je mnohem lehčí než úplný virtuální stroj.

Jakmile bude Rails nastaven, zkusím vytvořit nový ahoj svět:

rails new myapp

a tady je výsledek!

Mohu také spustit "explorer.exe." a spusťte Průzkumníka Windows a prohlédněte si a spravujte moje soubory Linux. To je nyní povoleno ve WSL2, protože běží na serveru Plan9 pro přístup k souborům.

Nainstalujte VS Code a VS Code Remote Extension Pack

Chystám se nainstalovat balíček VSCode Remote Extension pack, abych mohl vyvíjet z Windows na vzdálených počítačích NEBO přímo ve WSL nebo kontejneru. Mohu kliknout na dolní roh kódu VS nebo zkontrolovat paletu příkazů pro tento seznam položek nabídky. Zde mohu "Znovu otevřít složku ve WSL" a vybrat distro, které chci použít.

Nyní, když jsem otevřel složku pro vývoj WSL, podívejte se pozorně na levý dolní roh. Můžete vidět, že jsem ve vývojovém režimu WSL A Visual Studio Code doporučuje nainstalovat rozšíření Ruby VS Code...uvnitř WSL! Ve Windows nemám ani Ruby a Rails. Budu mít servery v jazyce Ruby a bezhlavé části kódu VS ve WSL – v Linuxu – kde budou nejužitečnější.

Tato synergie, tato rovnováha mezi Windows (který mě baví) a Linuxem (jehož příkazový řádek mě baví) se ukázal jako superproduktivní. Jsem schopen dělat veškerou práci, kterou chci – Go, Rust, Python, .NET, Ruby – a plynule přecházet mezi prostředími. Není zde jasné oddělení, jako je tomu u řešení „spustit ve virtuálním počítači“. Mám přístup ke svým souborům Windows z /mnt/c z Linuxu a vždy se mohu dostat ke svým souborům Linux na \\wsl$ z Windows.

Všimněte si, že používám server Rails -b=0.0.0.0, abych se vázal na všechny dostupné IP adresy, a to zpřístupňuje Rails pro "localhost", takže mohu přejít na web Rails z Windows! Je to můj počítač, takže je to můj localhost (složitost sítě řeší WSL2).

$ 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

Tady je to v novém Edge (chrom). Takže toto je Ruby on Rails běžící ve WSL, jak je prohlíženo z Windows, s použitím nového Edge s Chromiem v jeho srdci. Kočky a psi, společný život, masová hysterie.

Ještě lepší je, že mohu nainstalovat drahokam ruby-debug-ide uvnitř WSL a nyní provádím interaktivní ladění z kódu VS, ale znovu si všimněte, že „práce“ se odehrává uvnitř WSL.

Užijte si to!

Sponzor: Získejte nejnovější JetBrains Rider s návrhářem WinForms, Edit &Continue a prohlížečem IL (Intermediate Language). Zahrnuta je předběžná podpora C# 8.0, refaktoring přejmenování pro symboly definované F# v celém vašem řešení a vlastní motivy.


Linux
  1. Interoperabilita Windows a Linuxu:Pohled na Sambu

  2. Linux – proč používáme Su – a nejen Su?

  3. Je možné, že linuxový deskriptor souboru 0 1 2 není pro stdin, stdout a stderr?

  1. Zobrazit servisní štítek DELL a kód expresní služby z Linuxu a Windows

  2. Jaký souborový systém použít, když používáte Windows i Linux?

  3. VirtualBox na Linuxu:Jaký obraz Windows použít a kde jej získat?

  1. Zprovozněte a zprovozněte podman na Windows pomocí Linuxu

  2. Jak duální bootování Linuxu a Windows

  3. Duální bootování Windows a Linux pomocí UEFI