WSL 2による検証環境の切り替え - Alternative Architecture DOJO

Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

WSL 2による検証環境の切り替え

こんにちは!

最近娘からよく無視されるので、叱っては寝かしつけた後に怒り過ぎたと反省している
オルターブース エンジニアのふるのです(´・ω・)

今日は複数のWSLを切り替えて素早く環境を整える方法を試します。

  • Node環境のWSLを作成(WSL-Node)
  • 作成した環境をExport・Import
  • Python環境のWSLを作成(WSL-Python)
  • 作成した環境をExport・Import
  • 作成したインスタンスの起動

WSLのインストールは公式を参照。 今回はUbuntuを使います。

docs.microsoft.com

各環境設定はググればいっぱい出てくるので省略します。 ※Python環境はヘイシャのMLBお兄さんが以前書いてくれてるので、そちらを是非参考に。

aadojo.alterbooth.com

それでは試していきましょう。

WSLインストール

公式サイト参照

WSLにNode環境を構築

構築方法はお好きな方法で。 公式にも参考資料がありますので、今回はこちらを参照。

docs.microsoft.com

はい、こんな感じでnode環境が設定完了! f:id:o-n-wk:20201214140726p:plain

作成した環境をExport

次に作成した環境をexportします。

現在のwsl一覧を確認

PS C:\User\**** > wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)

現在の環境をExport

PS C:\User\**** > wsl --export Ubuntu-20.04 ubuntu-node.tar

※特に結果は表示されません

Exportが完了するとtarファイルが出力されます。 出力先を指定しなければユーザーディレクトリ直下に出力されます。 出力先を指定したい場合は以下のようにコマンドを変更してください。

PS C:\User\**** > wsl --export Ubuntu-20.04 <出力先>/ubuntu-node.tar

作成した環境をImport

PS C:\User\**** > wsl --import Ubuntu-Node <インポート先> ubuntu-node.tar

インポートが実行されたらもう一度listを確認します。

PS C:\Users\**** > wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)
Ubuntu-Node

先程インポートした環境が追加されていますね。

では次にPythonの環境を構築します。

WSLをリセット

Windowsの設定から、「アプリ→アプリと機能→Ubuntu→詳細オプション」と進み、下の方にある「リセット」をクリック f:id:o-n-wk:20201214140513p:plain

リセットが完了したらPythonの環境構築へ

Pythonの環境構築

上でも紹介しました、MLBお兄さんの記事を元に環境構築

aadojo.alterbooth.com

PythonのVersion確認 f:id:o-n-wk:20201214140509p:plain

構築が完了したらNodeと同じようにExportとImportを行います。 ※やり方は同じなので省略

Listの確認

PS C:\User\**** > wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-Node (既定)
Ubuntu-20.04
Ubuntu-Python

Ubuntu-Pythonが作成されていますね。 あとは動かしたいときに好きなインスタンスを起動するだけです。

動かしたい環境を起動

Nodeの場合

PS C:\User\**** > wsl -d Ubuntu-Node

Pythonの場合

PS C:\User\**** > wsl -d Ubuntu-Python

※ユーザーを指定して起動する場合はインスタンス名の後ろに以下のようにオプションを付けてください。

PS C:\User\**** > wsl -d Ubuntu-Python -u <ユーザー名>

以上です!

これで複数の検証環境を素早く切り替えることができるので、よかったら活用してみてください。