0
3

More than 1 year has passed since last update.

windows10(WSL2)でRailsの環境構築をしてみた (1) ~WSL2導入編~

Last updated at Posted at 2020-04-25

#はじめに
web開発に関してはmacユーザが多いと思いますが、windowsでも WSL( Windows Subsystem for Linux) なるものでLinuxでのRails開発環境をある程度整えることができました。
備忘として残そうと思います。

環境
Windows 10 Home 64bit

また、今回導入したものは以下となります。

導入したもの
Ruby 2.6.6
Rails 6.0.2.2
mysql for linux 14.14
Atom 1.45.0

#WSLを導入する
WSLの導入には@yoshigeさんの以下記事が非常に参考になりました。

まずは、以下の記事を参考にWSL1を導入し、初期設定まで済ませます。
Microsoft StoreでLinuxのディストリビューションを選んで導入することになるが、自分はUbuntu 18.04 LTS を導入しました。
初心者のためのWSL( 1 ) ~初期設定,CUI設定編~

GUIも使えた方が便利なので、以下記事を参考にGUI設定まで済ませます。
初心者のためのWSL( 2 ) ~GUI設定,デスクトップ環境設定編~

#WSL2を導入する
WSL2の導入は少し複雑です。

###1. Windows10 Insider Preview に登録 ⇒ ビルド更新
WSL2はビルドが18917以上でないと導入できません。

以下URLの手順に沿ってWindows10 Insider Preview に登録しビルドを更新してください。
https://insider.windows.com/ja-jp/getting-started/#register

###2. ビルドを確認する
設定システムバージョン情報でOSビルド欄をみて、18917以上であることを確認してください。

###3. 仮想マシン有効化
以下コマンドを管理者権限のPowerShellで実行し、再起動してください。

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

###4. WSL2へ切り替え
以下、コマンドを管理者権限のPowerShellで実行してください。
ビルドが18917以上でないと、以下コマンドは実行できません。

現在のWSLバージョンを確認する

 実行コマンド
 wsl -l -v
 出力結果
  NAME            STATE           VERSION
* Ubuntu-18.04    Running         1

WSLバージョンを2へ切り替える(結構時間がかかるかもしれません)

wsl --set-version Ubuntu 2

切り替え後のバージョンを確認する

 実行コマンド
 wsl -l -v
 出力結果
  NAME            STATE           VERSION
* Ubuntu-18.04    Running         2

WSLのバージョンが「2」になっていることを確認出来たらWSL2の導入は完了です。

#WSL2へ切り替えた後の設定
###1. .bash_profileを編集
WSL2に切り替えた後だと、ターミナル立ち上げの際に.bashrcを読み込んでくれない仕様になっているようです。

参考
WindowsTerminalやPowerShellからWSL2を実行した際に~/.bashrcが読み込まれない

自分は.bash_profileに以下を追加することで回避しました。

if [[ -f ~/.bashrc ]] ; then
  ~/.bashrc
fi   

###3. GUI設定の変更
WSL2はWSLと違い、仮想マシン上でLinuxを動作させています。

参考
https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html

なのでWSLと違い、window環境 ⇔ Linux環境のIPアドレスが別々に扱われます。

以下、windowsのコマンドラインでipconfigを実行した例になります。

Wireless LAN adapter Wi-Fi:

   IPv4 アドレス . . . . . . . . . . . .: xxx.xxx.xxx.xxx
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: xxx.xxx.xxx.1

イーサネット アダプター vEthernet (WSL):

   IPv4 アドレス . . . . . . . . . . . .: yyy.yyy.yyy.yyy
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   デフォルト ゲートウェイ . . . . . . .: yyy.yyy.yyy.1

新しくイーサネット アダプター vEthernet (WSL)が追加されていることがわかります。
IPが起動するたびに変更されるので、Xlaunchの待受け先もそれに伴い修正する必要があります。

GUI設定にて.bashrcにexport DISPLAY=localhost:0と記載していた部分を以下のように修正します。

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 

これで、IPアドレスが変更されても、設定しなおすことなくGUIが立ち上がります。

###ビープ音を止める
デフォルトではビープ音が鳴る設定になっており、これがうるさいので鳴らない用に設定していきます。

ubuntu18.04 で以下コマンドを実行

vi /etc/inputrc

以下行のコメントアウトを削除し、設定を有効化します。

set bell-style none

これで設定完了です。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3