安装 WSL 和 Ubuntu
-
启用 WSL 功能
-
以管理员身份打开 PowerShell。
-
运行以下命令以启用 WSL 功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
-
-
启用虚拟机平台
-
继续在管理员 PowerShell 中运行以下命令以启用虚拟机平台:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
-
安装 WSL 2
-
运行以下命令以设置 WSL 2 作为默认版本:
wsl --set-default-version 2
-
-
安装 Ubuntu
-
运行以下命令以安装 Ubuntu:
wsl --install -d Ubuntu
-
安装完成后,重新启动计算机。
-
-
启动 Ubuntu 并设置用户名和密码
- 在 Windows 搜索栏中输入 “Ubuntu” 并启动它。
- 按照提示设置用户名和密码。
-
设置 Ubuntu 为默认的 WSL 发行版
-
运行以下命令将 Ubuntu 设置为默认的 WSL 发行版:
wsl --set-default Ubuntu
-
安装 Go
-
更新软件包列表并安装 Go
-
在 Ubuntu 终端中运行以下命令:
sudo apt update sudo apt install golang-go
-
-
验证 Go 安装
-
运行以下命令验证 Go 是否安装成功:
go version
-
设置环境变量
-
编辑
.bashrc
文件-
在 Ubuntu 终端中打开
.bashrc
文件:nano ~/.bashrc
-
-
添加 Go 环境变量
-
在文件末尾添加以下内容(假设你的 GOPATH 在 Windows 上是
D:\goworkspace
,对应 WSL 中的路径是/mnt/d/goworkspace
):export GOPATH=/mnt/d/goworkspace export GOROOT=/usr/lib/go # 根据你的 Go 安装路径调整 export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
-
-
确保
.profile
自动加载.bashrc
-
编辑
.profile
文件:nano ~/.profile
-
确保文件包含以下内容:
# Include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then. "$HOME/.bashrc" fi
-
-
刷新配置
-
保存并关闭编辑器,然后运行以下命令刷新配置:
source ~/.bashrc
-
-
验证环境变量
-
运行以下命令验证环境变量是否正确设置:
echo $GOPATH echo $GOROOT echo $PATH
-
使用 WSL 和 Go
-
启动 WSL
- 在 Windows 搜索栏中输入 “Ubuntu” 并启动它。
-
导航到项目目录
-
假设你的项目在 D 盘:
cd /mnt/d/goworkspace/
-
-
构建项目
-
设置 Go 环境变量并构建项目:
export GOOS=linux export GOARCH=amd64 go build -o xxxx
-
Windows 10 上使用 WSL 并安装 CentOS,以下是详细的安装和配置指南,包括安装 Go 和设置环境变量。
安装 WSL 和 CentOS
-
安装 CentOS
-
由于 Microsoft Store 中不提供 CentOS 的官方镜像,你需要从第三方获取 CentOS WSL 镜像。你可以从以下链接下载 CentOS WSL 发行版:
CentOS WSL 发行版 -
下载最新的压缩包并解压到一个你希望安装的位置。例如:
C:\WSL\CentOS
-
-
注册 CentOS WSL 发行版
-
以管理员身份打开 PowerShell,导航到解压后的目录,然后运行以下命令注册 CentOS WSL 发行版:
cd C:\WSL\CentOS .\CentOS.exe
-
按照提示设置用户名和密码。
-
-
设置 CentOS 为默认的 WSL 发行版
-
运行以下命令将 CentOS 设置为默认的 WSL 发行版:
wsl --set-default CentOS
-
总结
以上步骤涵盖了从安装 WSL、设置 Ubuntu 、Centos环境、安装 Go 到配置环境变量的整个过程,包括将 Ubuntu 设置为默认的 WSL 发行版。这样,你就可以在 Windows 10 上使用 WSL 和 Go 进行开发了。