はじめに
Windows 上で Go 言語の開発環境を整える必要があったのでメモしておきます。
WSL のインストール
WSL のインストール | Microsoft Docs を参考に WSL をインストールします。
スタートメニューから powershell
と入力すると、以下の画像のように Windows PowerShell
が出てくるので、右クリックして 管理者として実行
を選択します。
許可後、WSL をインストールします。
wsl --install
インストール後、コンピュータを再起動します。
WSL 上に Ubuntu をインストール
Microsoft Store から Ubuntu をインストールします。
Ubuntu 20.04 を入手 - Microsoft Store ja-JP のリンク化もしくは Windows 上で Microsoft Store
のアプリを起動して ubuntu
と検索すると、アプリをダウンロードできます。
ダウンロードをクリック。
インストールが完了するまで待ちます。
開く
をクリックします。
コマンドプロンプトが開くので、Ubuntu で使用するユーザー(とパスワード)を入力します。
これで Ubuntu のインストールは完了です。
Ubuntu 上に golang をインストール
Go の公式プロジェクトでは apt パッケージは提供されていません。
また、普通に apt install
することはできますが、2022/03/08 時点で go1.13
と古めのバージョンがインストールされます。
現時点最新の Go 1.17
をインストールしたいので Wiki を参考にインストールします。
Ubuntu · golang/go Wiki · GitHub
以下のコマンドで apt レポジトリを追加、更新後、インストールします。
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
正常にインストールに成功して PATH が通っていればバージョンが確認できます。
> go version
go version go1.17.8 linux/amd64
Windows 上に VSCode をインストール
Visual Studio Code - Code Editing. Redefined から VSCode をダウンロードしてインストールします。
インストール後、起動します。
VSCode に Remote SSH をインストール
Ctrl + Shift + X
キーで拡張機能のウィンドウを開く、または以下のリンクから Remote - SSH
の拡張機能をインストールします。
Remote - SSH - Visual Studio Marketplace
これで準備は整いました。
Go の開発
適当なフォルダを作成して以下のような main.go
を作成します。
package main
func main() {
fmt.Println("Hello 世界!")
}
このコードは import "fmt"
が抜けています。
コンパイルエラーで検出もできますが、自動で import 文を挿入、fmt を適用してもらいたいものです。
まず、Ctrl + Shift + P
からコマンドパレットを表示し、WSL
と入力します。
その中から Remote WSL: New WSL Window
を選択して、フォルダを選択します。
WSL で開いた後、左下の緑色部分が WSL:Ubuntu-20.04
となっていることが確認できます。
この状態で Ctrl + S
などで Go 言語のファイルを保存すると以下のように ~~ is not available
的なカードが出てくるので Install All
をクリックします。
インストールが完了すると以下のようになります。
インストール後に ファイルを保存すると、自動で補完してくれるはずです。
おまけ: WSL 上のファイルのアクセス
WSL2 では /mnt/c/
に C ドライブがマウントされており、Ubuntu から Windows のファイルにアクセスできます。
反対に Windows から Ubuntu にアクセスする場合はエクスプローラーから ¥¥wsl$
とパスを直接入力することでアクセスできます。
おわりに
今までは基本的に Mac で Go の開発環境を構築して開発していましたが、WSL を使用することで Windows 上でも不便なく開発することができます。
また、Mac 上で開発を行っていてスクリプトなどが sh などのシェルスクリプトで書かれている場合などに WSL の Ubuntu 上で実行することができたりと非常に便利です。
Windows 上で Go 言語の開発環境を整える人の助けになれば幸いです。