GNU/Linux >> Belajar Linux >  >> Linux

Ruby on Rails di Windows tidak hanya mungkin, ini luar biasa menggunakan WSL2 dan VS Code

Saya telah mencoba dan mematikan untuk menikmati pengembangan Ruby on Rails di Windows selama bertahun-tahun. Saya melakukan Ruby di Windows selama 13 tahun yang lalu. Ada banyak upaya yang berani untuk menjadikan Rails di Windows sebagai pengalaman yang baik. Namun, mengingat Windows 10 dapat menjalankan Linux dengan WSL (Windows Subsystem for Linux) dan sekarang Windows menjalankan Linux dengan kecepatan mendekati asli dengan Kernel Linux pengiriman aktual menggunakan WSL2, orang-orang Ruby on Rails yang menggunakan Windows harus melakukan pekerjaan mereka di WSL2.

Menjalankan Ruby on Rails di Windows

Dapatkan Windows 10 terbaru

WSL2 akan dirilis akhir tahun ini tetapi untuk saat ini Anda dapat dengan mudah mendapatkannya dengan mendaftar ke Windows Insiders Fast dan memastikan versi Windows Anda adalah 18945 atau lebih tinggi. Jalankan saja "winver" untuk melihat nomor build Anda. Jalankan Pembaruan Windows dan dapatkan yang terbaru.

Aktifkan WSL2

Anda akan menginginkan Subsistem Windows terbaru untuk Linux. Dari prompt admin PowerShell, jalankan ini:

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

dan pergilah ke Windows Store dan cari "Linux" atau dapatkan Ubuntu 18.04 LTS secara langsung. Unduh, jalankan, jadikan pengguna sudo Anda.

Pastikan distro Anda berjalan pada kecepatan maksimal dengan WSL2. Perintah PowerShell sebelumnya menjalankan wsl --list -v untuk melihat distro Anda dan versi WSL-nya.

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

Anda dapat meningkatkan distro WSL1 apa pun seperti ini, dan setelah selesai, selesai.

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

Dan tentu saja merasa bebas untuk mendapatkan font dan gaya keren dan menjadikan diri Anda pengalaman Linux yang bagus...mungkin dengan Terminal Windows.

Dapatkan Terminal Windows

Poin bonus, dapatkan Terminal Windows open source baru untuk pengalaman yang lebih baik di baris perintah. Instal SETELAH Anda mengatur Ubuntu atau Linux dan itu akan mengisi menunya secara otomatis untuk Anda. Jika tidak, edit profiles.json Anda dan buat profil dengan commandLine seperti ini:

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

Lihat bagaimana saya memanggil wsl -d (untuk distro) dengan nama pendek distro?

Karena saya memiliki lingkungan Ubuntu nyata di Windows, saya cukup mengikuti petunjuk ini untuk menyiapkan Rails!

Menyiapkan Ruby on Rails

Instruksi Ubuntu berfungsi karena ini adalah Ubuntu! https://gorails.com/setup/ubuntu/18.04

Selain itu, saya dapat menginstal Linux sebanyak yang saya inginkan, bahkan lingkungan Dev vs. Prod jika saya mau. WSL2 jauh lebih ringan daripada Mesin Virtual lengkap.

Setelah Rails disiapkan, saya akan mencoba membuat hello world baru:

rails new myapp

dan inilah hasilnya!

Saya juga dapat menjalankan "explorer.exe ." dan luncurkan Windows Explorer dan lihat serta kelola file Linux saya. Itu diperbolehkan sekarang di WSL2 karena menjalankan server Plan9 untuk akses file.

Instal Kode VS dan Paket Ekstensi Jarak Jauh Kode VS

Saya akan menginstal paket VSCode Remote Extension sehingga saya dapat mengembangkan dari Windows pada mesin jarak jauh ATAU di WSL atau Container secara langsung. Saya dapat mengklik sudut tingkat bawah Kode VS atau memeriksa Palet Perintah untuk daftar item menu ini. Di sini saya dapat "Membuka Kembali Folder di WSL" dan memilih distro yang ingin saya gunakan.

Sekarang saya telah membuka folder untuk pengembangan WSL, lihat dari dekat di sudut kiri bawah. Anda dapat melihat saya dalam mode pengembangan WSL DAN Visual Studio Code merekomendasikan saya menginstal ekstensi Kode Ruby VS ... di dalam WSL! Saya bahkan tidak memiliki Ruby dan Rails di Windows. Saya akan memiliki server bahasa Ruby dan bagian tanpa kepala Kode VS di WSL - di Linux - di mana mereka akan menjadi yang paling berguna.

Sinergi ini, keseimbangan antara Windows (yang saya nikmati) dan Linux (yang baris perintahnya saya nikmati) ternyata sangat produktif. Saya dapat melakukan semua pekerjaan yang saya inginkan - Go, Rust, Python, .NET, Ruby - dan berpindah dengan lancar antar lingkungan. Tidak ada pemisahan yang jelas seperti yang ada dengan solusi "jalankan di VM". Saya dapat mengakses file Windows saya dari /mnt/c dari dalam Linux, dan saya selalu dapat mengakses file Linux saya di \\wsl$ dari dalam Windows.

Perhatikan bahwa saya menjalankan Rails server -b=0.0.0.0 untuk mengikat semua IP yang tersedia, dan ini membuat Rails tersedia untuk "localhost" sehingga saya dapat membuka situs Rails dari Windows! Ini mesin saya, jadi ini adalah localhost saya (kompleksitas jaringan ditangani oleh 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

Ini dia di Edge baru (kromium). Jadi ini adalah Ruby on Rails yang berjalan di WSL, seperti yang diramban dari Windows, menggunakan Edge baru dengan Chromium sebagai intinya. Kucing dan anjing, hidup bersama, histeria massal.

Lebih baik lagi, saya dapat menginstal permata ruby-debug-ide di dalam WSL dan sekarang saya melakukan debugging interaktif dari VS Code, tetapi sekali lagi, perhatikan bahwa "pekerjaan" terjadi di dalam WSL.

Selamat menikmati!

Sponsor: Dapatkan JetBrains Rider terbaru dengan desainer WinForms, Edit &Lanjutkan, dan penampil IL (Bahasa Menengah). Dukungan awal C# 8.0, rename refactoring untuk simbol yang ditentukan F# di seluruh solusi Anda, dan Tema Kustom semuanya disertakan.


Linux
  1. Interoperabilitas Windows dan Linux:Sekilas tentang Samba

  2. Mungkinkah deskriptor file linux 0 1 2 bukan untuk stdin, stdout dan stderr?

  3. VirtualBox di Linux:Gambar Windows apa yang digunakan dan di mana mendapatkannya?

  1. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  2. Lihat Tag Servis DELL dan Kode Servis Ekspres Dari Linux dan Windows

  3. Sistem file apa yang digunakan saat menggunakan Windows dan Linux?

  1. Aktifkan dan jalankan podman di Windows menggunakan Linux

  2. Cara dual-boot Linux dan Windows

  3. Boot ganda Windows dan Linux menggunakan UEFI