Quantcast
Channel: いろいろ備忘録日記
Viewing all articles
Browse latest Browse all 1460

WSL2とVSCodeで欲しい環境を好きなだけ作る

$
0
0

概要

最近は、docker とかで環境構築したりするのがデフォルトになっているかもしれませんが、WSL2とVSCodeの組み合わせもとても便利なので、個人的にはよく利用しています。

WSL関連の記事を見ていると、大抵ストアからUbuntuをインストールしたりして利用するパターンが多いと思いますが、予め rootfs のイメージを用意しておいて wsl にインポートすることも出来ます。(逆にエクスポートも可能です)

このやり方だと、何個も仮想マシンをサクサク入れることができるので、とても楽です。

以下、自分用のメモですが、いつもやっているやり方です。

今回入れるのは、Ubuntu 21.04 のクラウドイメージを使います。サイズも 450MB くらいなので結構軽い。

イメージはここからダウンロード可能です。

cloud-images.ubuntu.com

ファイル名に wsl.rootfs と付いているものが、WSL向けのイメージとなっています。

WSLにて現在実行しているものを一覧出力

以下のコマンドで表示できます。

> wsl -l-v

WSLにて特定のイメージをインポートする

wsl コマンドで、インポートするには以下のようにコマンドを実行します。

> wsl --import名前 <イメージファイルが配置される場所><イメージファイルのパス>

例えば、名前を myenvで、イメージファイルの配置場所を c:\data\wsl\myenv、イメージファイルのパスが c:\data\rootfs\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gzだとすると以下のようになります。

> wsl --import myenv c:\data\wsl\myenv c:\data\rootfs\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gz --version2

Goの環境を作る

最初にインポートして、綺麗な空の環境を用意

> wsl --import golang-env c:\data\wsl\golang-env c:\data\rootfs\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gz --version2

インポートが終わったら、起動

> wsl -d golang-env

パッケージの状態を最新に更新

$ apt update -q; apt upgrade -yq

GoのSDKをインストール

$ apt install golang

これで、コンパイラなどはインストールされたので、後は VSCode 側で遊ぶ。

$ code

これで、VSCode がこの仮想マシンに接続した状態で起動するので、後は好きにできる。

dotnetの環境を作る

最初にインポートして、綺麗な空の環境を用意

> wsl --import dotnet-env c:\data\wsl\dotnet-env c:\data\rootfs\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gz --version2

インポートが終わったら、起動

> wsl -d dotnet-env

パッケージの状態を最新に更新

$ apt update -q; apt upgrade -yq

dotnetのSDKをインストール

$ wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update; \
      sudo apt-get install -y apt-transport-https && \
      sudo apt-get update && \
      sudo apt-get install -y dotnet-sdk-5.0

これで、コンパイラなどはインストールされたので、後は VSCode 側で遊ぶ。

$ code

これで、VSCode がこの仮想マシンに接続した状態で起動するので、後は好きにできる。

JavaでSpring Bootの環境を作る

最初にインポートして、綺麗な空の環境を用意

> wsl --import springboot-env c:\data\wsl\springboot-env c:\data\rootfs\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gz --version2

インポートが終わったら、起動

> wsl -d springboot-env

パッケージの状態を最新に更新

$ apt update -q; apt upgrade -yq

Spring BootのSDKをインストール

$ apt install -y zip unzip
$ curl -s"https://get.sdkman.io" | bash
$ source"$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk install java 11.0.11.hs-adpt
$ sdk install springboot
$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring

これで、コンパイラなどはインストールされたので、後は VSCode 側で遊ぶ。

$ code

これで、VSCode がこの仮想マシンに接続した状態で起動するので、後は好きにできる。

作った仮想マシンを停止したい場合

以下のように wsl コマンドを実行すると停止されます。

> wsl -t名前

作った仮想マシンを削除したい場合

以下のように wsl コマンドを実行すると削除されます。

> wsl --unregister名前

作った仮想マシンをエクスポートしたい場合

以下のように wsl コマンドを実行するとエクスポートされます。

> wsl --exportエクスポートする仮想マシンの名前 <エクスポート先のパス (拡張子は tar で)>

エクスポートしたファイルは、wsl --importで普通にインポート可能です。

なので、基本設定したファイルをエクスポートしておくと、いつでもインポート可能になります。

参考資料

cloud-images.ubuntu.com

cloud.centos.org

cdimage.debian.org

docs.microsoft.com

spring.pleiades.io


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com


Viewing all articles
Browse latest Browse all 1460

Trending Articles