在 GoLand 中配置 WSL 环境跨平台开发的完整指南

该片博客因由

为何要做这些步骤,直接在Window开发不行吗?

有些项目如DiceDB ,目前只支持在linux和mac下开发,想要在Window下开发除了安装虚拟机就只有这个办法可行了

引言

在现代开发环境中,跨平台开发变得越来越普遍。为了在 Windows 上利用 Linux 环境的强大功能,许多开发者选择使用 Windows Subsystem for Linux (WSL)。本文将详细介绍如何在 Windows 上的 GoLand 中配置 Go SDK,以便在 WSL 中进行开发。

目录
  1. 安装 WSL
  2. 在 WSL 中安装 Go
  3. 在 WSL 中移动和配置项目
  4. 在 GoLand 中配置 WSL 和 Go SDK
  5. 验证配置
1. 安装 WSL

首先,我们需要在 Windows 上安装 WSL。

  1. 启用 WSL 功能

    • 打开 PowerShell,以管理员身份运行以下命令:
      wsl --install
      
    • 该命令将自动启用 WSL 并安装 Ubuntu 作为默认发行版。
  2. 重启计算机

    • 完成安装后,系统将提示重启计算机。按照提示重启。
  3. 设置 WSL

    • 重启后,启动 Ubuntu。你将被要求创建一个新的用户和密码。按照提示完成设置。
  4. 设置 WSL 2

    • 确保你的 WSL 版本是 WSL 2:
      wsl --set-default-version 2
      
  5. 检查 WSL 安装

    • 在 PowerShell 中运行:

      wsl --list --verbose
      
      wsl -l -v
      
    • 如果按照了docker,那么也会有一个wsl,但是是阉割版

    • image-mago.png

    • 确保你的 Linux 发行版处于运行状态,并且版本为 2。

2. 在 WSL 中安装 Go

在 WSL 中,我们需要安装 Go 编程语言。

  1. 进入 WSL 终端

    • 在 PowerShell 中运行:
      wsl
      
    • 或者直接从开始菜单中启动你的 Linux 发行版(如 Ubuntu)。
  2. 更新包列表

    • 运行以下命令更新包列表:
      sudo apt update
      
  3. 下载 Go 安装包

    wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
    
  4. 解压安装包

    sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
    
  5. 设置环境变量

    • 编辑 .bashrc 文件:
      nano ~/.bashrc
      
    • 添加以下内容到文件末尾:
      export PATH=$PATH:/usr/local/go/bin
      
    • 保存并关闭文件,然后运行:
      source ~/.bashrc
      
  6. 验证安装

    • 运行以下命令确认安装:
      go version
      
    • 应该输出 go version go1.22.5 linux/amd64
3. 在 WSL 中移动和配置项目

将你的项目文件移动到 WSL 文件系统中,并配置 Go 环境。

  1. 创建项目目录

    • 在 WSL 终端中创建一个新的项目目录:
      mkdir -p ~/go_projects/my_project
      
  2. 移动项目文件

    • 打开 Windows 文件资源管理器,找到你的项目文件并复制。

    • 在 WSL 终端中,将文件粘贴到新创建的目录中:

      cp -r /mnt/c/Users/YourUsername/GoProjects/MyProject/* ~/go_projects/my_project/
      

      或者在 \\wsl.localhost\Ubuntu\home 将项目拖放进去

      image-whho.png

    为什么需要把项目放进wsl?因为如果不放进去,设置golang idea 的go sdk为wsl 的go sdk会报错,所以想要将项目改为linux项目

  3. 配置环境变量

    • 打开 ~/.bashrc~/.profile 文件,添加以下内容:
      export GOPATH=$HOME/go
      export GOROOT=/usr/local/go
      export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
      
    • 运行以下命令以应用更改:
      source ~/.bashrc
      
4. 在 GoLand 中配置 WSL 和 Go SDK
  1. 打开 GoLand 并导入项目

    • 启动 GoLand,选择 File -> Open
    • 导航到 \\wsl$\Ubuntu\home\your_username\go_projects\my_project 并选择项目目录。
  2. 添加 Go SDK

    • 在 GoLand 中,前往 File -> Settings -> Go -> Go SDK
    • 点击右上角的 + 按钮,选择 WSL,并选择 Go 的安装路径(通常是 /usr/local/go)。
      jh@DESKTOP-K7CVTO9:~$ which go
      /usr/local/go/bin/go
      
  3. 设置项目结构

    • 确保在 File -> Settings -> Go -> GOPATH 中,设置正确的 GOPATH(通常是 ~/go)。(可忽略)
5. 验证配置

image-hsoh.png

  1. 打开 GoLand 终端
  • 在 GoLand 中,打开终端(View > Tool Windows > Terminal)。
    wsl.exe --distribution Ubuntu
    
  1. image-jxrt.png

    确认终端类型

    • 确保终端显示的是 WSL 的提示符(例如 username@hostname)。image-gqgw.png
  2. 检查 Go 版本

    • 在 GoLand 的终端中运行:
      go version
      
    • 确保它显示的是 WSL 中的 Go 版本。
  3. 配置Run Targets

image-lhfp.png

附:期间坑比较多,需要注意如果Window已经安装了docker,那么也会有一个阉割版的wsl,需要重新再安装一个Ubuntu的wsl,并安装go

在设置sdk时候发现不能选择wsl,原因是项目是Window的而不是linux 于是将项目移入wsl中才可以正常设置sdk为wsl中的go

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐