私は長年、Windows での Ruby on Rails 開発を楽しんでいます。私は 13 年前まで Ruby on Windows をやっていました。 Rails on Windows を優れたエクスペリエンスにするために、多くの勇敢な取り組みが行われてきました。ただし、Windows 10 が WSL (Windows Subsystem for Linux) を使用して Linux を実行できることを考えると、および 現在、Windows は、WSL2 を使用して実際に出荷されている Linux カーネルを使用して Linux をネイティブに近い速度で実行します。Windows を使用している Ruby on Rails のユーザーは、WSL2 で作業を行う必要があります。
Windows で Ruby on Rails を実行する
最新の Windows 10 を入手
WSL2 は今年後半にリリースされる予定ですが、現時点では、Windows Insiders Fast にサインアップし、Windows のバージョンが 18945 以上であることを確認することで簡単に入手できます。 「winver」を実行して、ビルド番号を確認してください。 Windows Update を実行して最新のものを入手してください。
WSL2 を有効にする
Linux 用の最新の Windows サブシステムが必要になります。 PowerShell 管理者プロンプトから、これを実行します:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Windowsストアにアクセスして「Linux」を検索するか、Ubuntu 18.04 LTSを直接入手してください。ダウンロードして実行し、sudo ユーザーを作成してください。
ディストリビューションが WSL2 で最大速度で実行されていることを確認してください。以前の PowerShell プロンプトで wsl --list -v を実行して、ディストリビューションとその WSL バージョンを確認します。
C:\Users\Scott\Desktop> wsl --list -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu Stopped 1
WLinux Stopped 1
このように任意の WSL1 ディストリビューションをアップグレードできます。アップグレードが完了したら完了です。
wsl --set-version "Ubuntu-18.04" 2
そして、クールなフォントとスタイルを自由に入手して、素敵な光沢のある Linux 体験を作ってください...おそらく Windows ターミナルを使用してください.
Windows ターミナルを入手
ボーナス ポイントとして、新しいオープン ソースの Windows ターミナルを入手して、コマンド ラインでのエクスペリエンスを向上させてください。 UbuntuまたはLinuxをセットアップした後にインストールすると、メニューが自動入力されます。それ以外の場合は、profiles.json を編集して、次のようなコマンドラインでプロファイルを作成してください:
"commandline" : "wsl.exe -d Ubuntu-18.04"
ディストリビューションの短い名前で wsl -d (ディストリビューション用) を呼び出す方法がわかりますか?
私は Windows 上に実際の Ubuntu 環境を持っているので、次の手順に従って Rails をセットアップするだけです!
Ruby on Rails のセットアップ
Ubuntuなので、Ubuntuの指示はうまくいきます! https://gorails.com/setup/ubuntu/18.04
さらに、好きなだけ Linux をインストールできます。必要に応じて、Dev 対 Prod 環境もインストールできます。 WSL2 は完全な仮想マシンよりもはるかに軽量です。
Rails のセットアップが完了したら、新しい Hello World を作成してみます:
rails new myapp
これが結果です!
「explorer.exe」も実行できます。 Windows Explorer を起動して、Linux ファイルを表示および管理します。これは、ファイル アクセス用に Plan9 サーバーを実行しているため、WSL2 で許可されています。
VS Code と VS Code リモート拡張パックをインストールする
VSCode リモート拡張パックをインストールして、Windows からリモート マシンまたは WSL またはコンテナーで直接開発できるようにします。 VS Code の下の隅をクリックするか、コマンド パレットでこのメニュー項目のリストを確認します。ここで、"WSL でフォルダーを再度開く" ことができ、使用するディストリビューションを選択できます。
開発 WSL 用のフォルダーを開いたので、左下隅をよく見てください。私は WSL 開発モードであり、Visual Studio Code は Ruby VS Code 拡張機能をインストールすることを推奨していることがわかります... WSL 内に! Windows では Ruby と Rails さえ持っていません。 Ruby 言語サーバーと VS Code のヘッドレス パーツを WSL (Linux) に配置する予定です。これらが最も役立つ場所です。
この相乗効果、Windows (私が楽しんでいる) と Linux (私がコマンド ラインを楽しんでいます) の間のこのバランスは、非常に生産的であることが判明しました。 Go、Rust、Python、.NET、Ruby など、必要なすべての作業を実行でき、環境間をスムーズに移動できます。 「VM で実行する」ソリューションのような明確な分離はありません。 Linux 内から /mnt/c から Windows ファイルにアクセスでき、Windows 内から \\wsl$ にある Linux ファイルにいつでもアクセスできます。
Rails server -b=0.0.0.0 を実行して利用可能なすべての IP にバインドしていることに注意してください。これにより、Rails が "localhost" で利用できるようになり、Windows から Rails サイトにアクセスできるようになります。これは私のマシンなので、私のローカルホストです (ネットワークの複雑さは 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
ここに新しいエッジ(クロム)があります。これは、WSL で実行されている Ruby on Rails であり、Windows からブラウズして、Chromium を中心に新しい Edge を使用しています。猫と犬、同居、集団ヒステリー。
さらに良いことに、Ruby-debug-ide gem を WSL 内にインストールでき、VS Code からインタラクティブなデバッグを行っていますが、WSL 内で「作業」が行われていることに注意してください。
お楽しみください!
スポンサー: WinForms デザイナー、エディット コンティニュ、IL (中間言語) ビューアーを備えた最新の JetBrains Rider を入手してください。暫定的な C# 8.0 のサポート、ソリューション全体にわたる F# 定義のシンボルの名前変更リファクタリング、およびカスタム テーマがすべて含まれています。