WSL使用指南

使用 WSL 环境在 Goland 中开发 Go 项目 在了解字节的开源RPC框架Kitex的过程中一直使用的云服务器进行运行,但碍于服务器性能不足和JB Getaway功能还并不完善,所以想到使用WSL进行开发 而使用WSL开发的优势并不止这些,例如Redis在WSL中可以使用最新版本,增加很多功能,还有其他的优势等待你的探索。 阅读详情

GoLand + WSL 使用指南:在 Windows 上高效开发 Go 项目

如果你在 Windows 上使用 GoLand 开发 Go 项目,又想享受 Linux 环境 的开发体验,WSL(Windows Subsystem for Linux) 是最好的选择。
本文将教你如何在 GoLand 中结合 WSL 高效开发、调试和部署 Go 项目。


一、为什么在 GoLand 中使用 WSL

如果你在 Windows 上做 Go 开发,可能遇到过这些问题:

  • Windows 与 Linux 环境不一致,部署时经常报错
  • Docker、Redis、MySQL 等依赖安装麻烦
  • Go 模块在 Windows 上可能存在路径大小写和符号链接问题
  • CI/CD、服务器环境大多基于 Linux

**解决方案:**在 GoLand + WSL 下开发,让你在 Windows 上写代码,但在 Linux 环境 中运行、调试和构建,兼顾了 Windows 的易用性和 Linux 的高性能。


二、安装与配置 WSL

1. 安装 WSL 2

在 PowerShell(管理员)中执行:

wsl --install

安装完成后查看版本:

wsl --list --verbose

示例输出:

  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2

如果是 WSL 1,可升级:

wsl --set-version Ubuntu-22.04 2

2. 安装 Ubuntu 发行版

wsl --install -d Ubuntu-22.04

首次启动会要求设置用户名和密码。


3. 升级软件包

sudo apt update && sudo apt upgrade -y

三、GoLand 配置 WSL

1. 启用 WSL 集成

  1. 打开 GoLand → Settings(快捷键 Ctrl + Alt + S)

  2. 搜索 “Terminal”

  3. 将 Shell Path 设置为:

    wsl.exe ~
    
  4. 应用并保存

现在在 GoLand 的终端打开时,就会自动进入 WSL 的 Linux 环境。


2. 配置 Go SDK 使用 WSL

  1. 打开 GoLand → Settings → Go → GOROOT
  2. 点击 Add SDK → WSL → 选择 Ubuntu-22.04
  3. GoLand 会自动识别 /usr/local/go 或 /usr/bin/go 里的 Go 版本

建议手动安装 Go 到 /usr/local/go,版本更可控,步骤如下:

wget https://golang.org/dl/go1.24.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.24.4.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$GOROOT/bin:$GOPATH/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

验证:

go version

3. 配置 Go Modules

在 GoLand 里设置:

Settings → Go → Go Modules → Enable Go Modules

并在 WSL 中设置代理:

go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on

四、GoLand + WSL 开发 Go 项目

1. 在 WSL 中创建项目

cd ~
mkdir ShifuDev && cd ShifuDev
go mod init github.com/cxz/ShifuDev

然后在 GoLand 打开 /home/cxz/ShifuDev,而不是 Windows 的 C:\Users\...。

原因:代码放在 Linux 路径 /home 下,避免跨文件系统访问 /mnt/c 带来的 I/O 性能问题。


2. 安装依赖

go mod tidy

如果依赖下载慢,推荐设置国内镜像:

go env -w GOPROXY=https://proxy.golang.org,direct

3. 运行项目

在 GoLand 终端直接:

go run cmd/server/main.go

或者使用 GoLand Run 配置,选择 WSL 中的 Go SDK。


4. 调试项目

  1. GoLand → Run → Edit Configurations
  2. 点击 + → Go Build
  3. 使用 WSL Go SDK
  4. 设置可执行文件和工作目录
  5. 点击 Debug 运行

五、GoLand + WSL + Docker

如果你的项目依赖 Docker,推荐使用 Docker Desktop 并开启 WSL 集成:

  1. 打开 Docker Desktop → Settings → General
  2. 勾选 Enable WSL 2 integration
  3. 在 Resources → WSL Integration 中选择 Ubuntu-22.04

在 WSL 终端测试:

docker --version
docker info
docker ps

然后在 GoLand 里配置:

Settings → Build, Execution, Deployment → Docker → +

选择 Unix Socket,路径填写:

unix:///var/run/docker.sock

六、性能优化

1. 代码放 Linux 路径

把 Go 项目放在:

/home/cxz/ShifuDev

不要放在:

/mnt/c/Users/cxz/ShifuDev

这样可以显著提高 I/O 性能。


2. 限制 WSL 内存与 CPU

编辑:

C:\Users\<你的用户名>\.wslconfig

写入:

[wsl2]
memory=4GB
processors=4
swap=2GB
localhostForwarding=true

然后重启 WSL:

wsl --shutdown

3. 配置 GoLand 缓存路径

在:

Settings → Appearance & Behavior → System Settings

将缓存目录设置到 Windows SSD,提高索引速度。


七、常见问题解决

1. GoLand 终端打不开 WSL

  • 检查是否安装了 WSL:
wsl --list --verbose
  • 如果没显示 Ubuntu,重新安装:
wsl --install -d Ubuntu-22.04

2. 文件权限报错

如果 GoLand 报 Failed to make ... writable:

sudo chown -R $(whoami):$(whoami) /home/cxz/ShifuDev

3. gRPC 或 Protobuf 编译失败

如果 protoc 未安装:

sudo apt install -y protobuf-compiler
protoc --version

并配置 Go 插件:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

4. Docker 无法启动

检查 Docker Desktop 是否开启 WSL 集成:

Settings → Resources → WSL Integration

八、总结

功能最佳实践
终端GoLand 设置 wsl.exe ~
Go SDK使用 WSL 中的 Go
项目路径放 /home,避免 /mnt/c
Docker启用 Docker Desktop WSL 集成
调试使用 GoLand 的 WSL Go SDK
性能优化配置 .wslconfig,减少 I/O
依赖安装在 WSL 内部安装 Go、Protobuf、Docker 等

通过 GoLand + WSL,你可以在 Windows 上获得接近原生 Linux 的开发体验,同时无缝支持 Docker、gRPC、Kubernetes 等现代开发技术。


Windows11 WSL2(ubuntu)+Goland 交叉编译运行 采用WSL2+Goland进行交叉编译 阅读详情

相关推荐

Windows系统通过部署wsl + Goland进行跨平台开发

近期项目中因为用到了 Golang库中的 "log/syslog" 包,而这个包是禁止在windows平台上编译的.并且在windows环境上开发也会有诸多不便,如执行makefile文件的make命令,本地开发环境中docker,etcd,redis的搭建等等,而这些通过部署wsl去搭建一个linux环境就很可以很方便的解决了.

c0210g的博客 1887

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

本文将详细介绍如何在 Windows 上的 GoLand 中配置 Go SDK,以便在 WSL 中进行开发。附:期间坑比较多,需要注意如果Window已经安装了docker,那么也会有一个阉割版的wsl,需要重新再安装一个Ubuntu的wsl,并安装go。在设置sdk时候发现不能选择wsl,原因是项目是Window的而不是linux 于是将项目移入wsl中才可以正常设置sdk为wsl中的go。将你的项目文件移动到 WSL 文件系统中,并配置 Go 环境。在 WSL 中,我们需要安装 Go 编程语言。

qq_28791753的博客 4475

[个人笔记] WSL 完整使用指南及 Claude Code 配置记录

本文档记录了WSL(Windows Subsystem for Linux)的完整使用指南,包括安装配置、基本管理、备份迁移、开发环境搭建等操作。重点说明了WSL2自动安装方法(wsl --install)、版本切换、发行版管理,以及目录迁移的详细步骤。同时提供了Node.js/Python/Git等开发环境的配置指南,并包含过时的Claude Code安装历史记录(需参考最新文档)。文档还涉及VS Code集成、性能优化方案、常见问题解决方法和实用命令汇总,最后强调数据安全和定期备份的重要性。注意部分内容

zhoumi_ 2983

golang配置运行wsl

golang配置运行wsl

qq_44176422的博客 1517

WSL2 Ubuntu图形界面使用指南

文章目录本文概要WSL2的启用WSL2 Ubuntu安装图形界面的安装图形界面的优化中文输入法的安装界面美化操作优化 本文概要 win10的WSL(Windows Subsystem for Linux)使得可以在win10下运行linux系统作为其子系统。作为一个既尝试过win10+vmware虚拟机ubuntu以及双系统的,说一下我自己的感受以及为什么使用WSL: 使用虚拟机运行ubuntu是最简单的直接同时运行两个系统的方式,但是虚拟机太耗费资源,吃配置,而且启动慢、关机慢; 对于双系统来说,两个系

liyunxin_c_language的博客 6万+

WSL2 | CUDA + Pytorch配置使用指南

本文介绍了如何在WSL2环境下安装特定版本的CUDA Toolkit,之后借助Anaconda工具配置Pytorch开发环境,最终实现Pytorch调用CUDA

weixin_47654556的博客 678

WSL Daemon 使用指南

WSL Daemon 使用指南 项目介绍 WSL Daemon (wsld) 是一个专为 Windows Subsystem for Linux (WSL) 设计的守护进程,旨在提供稳定的X11连接服务以及时间同步功能。它前身名为 x11-over-vsock,但随着额外功能的增加,如时间同步,而改名为 wsld。这款工具对于那些在WSL环境中需要稳定图形界面和精确时间管理的开发者尤为重要。通过...

gitblog_00483的博客 863

Ansys HFSS 中的同轴电缆仿真

准确模拟它们的行为对于确保 RF 系统的最佳性能至关重要。在本博客中,我们将介绍在 HFSS 中设置同轴电缆仿真并绘制插入损耗、回波损耗和电场分布的过程。将波端口分配给同轴线的两端以激励模型,并定义了从 1 GHz 到 20 GHz 的频率扫描以评估其宽带性能。铜分配给内部导体,铝分配给外部导体。介电区域使用 PTFE 定义,其相对介电常数为 2.1,损耗角正切为 0.00022。仿真完成后,结果用于绘制整个频率范围内的回波损耗和插入损耗。此外,电介质内的电场分布也被绘制和动画化。

jkh920184196的博客 1907

Manjaro Linux for WSL 项目安装与使用指南

Manjaro Linux for WSL 项目安装与使用指南 1. 项目目录结构及介绍 Manjaro Linux for WSL 项目的目录结构如下: manjaro-linux-for-wsl/ ├── LICENSE ├── README.md ├── assets/ │ └── ... ├── scripts/ │ ├── install.sh │ ├── setup.sh ...

gitblog_00290的博客 1075

玩转ubuntu18 --机器视觉方面(yolo算法识别及摄像头和cmake问题解决)

玩转ubuntu18 --机器视觉方面(yolo v3算法识别) 1.YOLO的简介 工作原理 先前的检测系统重新调整分类器或本地化器以执行检测。他们将模型应用于多个位置和比例尺的图像。图像的高分区域被视为检测。 我们使用完全不同的方法。我们将单个神经网络应用于整个图像。该网络将图像划分为区域,并预测每个区域的边界框和概率。这些边界框按预测概率加权。 我们的模型比基于分类器的系统具有几个优势。它在测试时间查看整个图像,因此其预测由图像中的全球上下文提供信息。它还通过单一网络评估进行预测,这与R-CNN等系统

qq_53951823的博客 1556

从零到一:如何用GraphRAG Visualizer打造你的第一个3D知识图谱

本文详细介绍了如何使用GraphRAG Visualizer从零开始构建3D知识图谱,涵盖环境准备、Parquet数据处理、可视化操作及高级分析功能。通过简洁的步骤和实用技巧,帮助用户快速掌握这一强大的知识图谱可视化工具,提升数据分析和关系挖掘效率。

rock5的博客 219

CentOS-WSL 安装与使用指南

本教程将引导您安装并使用来自 GitHub 仓库 [mishamosher/CentOS-WSL](https://github.com/mishamosher/CentOS-WSL.git) 的 CentOS 集成环境,以在 Windows Subsystem for Linux(WSL)上运行。 ## 1. 项目目录结构及介绍 在下载或克隆完 `CentOS-WSL` 项目后,您会看到以下...

gitblog_01124的博客 829

Bentley ORD(openroads designer) 二次开发(BIM)第七节 在ORD SDK中调用MicroStation SDK

从课程刚开始的时候我们就通过学习,了解了ORD的开发是基于MicroStation的,ORD SDK的接口发布的时候也对MicroStation SDK也做了一次发布。这一章将以我们对ORD SDK知识的了解为基础,使用ORD SDK的接口读取道路几何信息、计算桩号,然后再使用MicroStation SDK 读取地形数据和计算投影点的位置,并创建一组方柱形状的Soild。计算方柱底部坐标要经过两大步骤,通过路线的桩号及偏移距离去定位方柱的平面位置,通过方柱的平面位置计算数字地面模型上的投影点的坐标。

chen286990651的博客 880

Arch-WSL 项目安装与使用指南

Arch-WSL 项目安装与使用指南 1. 项目目录结构及介绍 Arch-WSL 项目的目录结构如下: Arch-WSL/ ├── ArchWSL-Appx/ │ ├── MyDistro.appxmanifest │ └── ... ├── ArchWSL/ │ ├── editorconfig │ ├── gitignore │ ├── sln │ └── ... ├─...

gitblog_01185的博客 928

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2227

ESP32开发环境避坑指南:用Thonny烧录MicroPython固件时常见的5个错误及解决方法

本文针对ESP32开发新手,详细解析了使用Thonny IDE烧录MicroPython固件时最常见的5个错误及其解决方案。内容涵盖驱动安装、端口识别、固件烧录失败、版本兼容性、连接不稳定以及文件系统操作异常等核心痛点,并提供硬件层面的深度排查指南,帮助开发者高效搭建稳定的ESP32开发环境。

weixin_29189003的博客 407

Manjaro Linux for WSL 快速启动与使用指南

Manjaro Linux for WSL 快速启动与使用指南 1. 项目介绍 Manjaro Linux for WSL 是一个在 Windows Subsystem for Linux (WSL) 上运行 Manjaro Linux 的开源项目。Manjaro 是一个基于 Arch Linux 的发行版,以其用户友好的界面和滚动发布模式而闻名。通过这个项目,用户可以在 Windows 系统上体...

gitblog_00683的博客 1202

基于STM32、HAL库的IP2736U_EF快充协议芯片简介及驱动程序设计

@param connected: 连接状态指针 (1=已连接, 0=未连接)= 0x2736) // 检查厂商ID。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。* @param hip: IP2736U句柄指针。

corlin6688的博客 430

使用指南:FiestaLake的WSL2 Ubuntu Systemd脚本

使用指南:FiestaLake的WSL2 Ubuntu Systemd脚本 1. 项目目录结构及介绍 FiestaLake的WSL2 Ubuntu Systemd脚本项目致力于为WSL2下的Ubuntu发行版提供Systemd支持。尽管原项目由DamionGans维护的版本被提及,但请注意,示例中提供的链接指向了一个假设性的FiestaLake仓库,实际操作时应参照正确仓库。以下是基于通用实践的...

gitblog_00915的博客 514

【YoloV12改进策略】基于流形约束超连接(mHC)增强YoloV12全局特征提取能力_独家复现_梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1353

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WSL进阶使用指南

WSL2通过 Hyper-V 技术创建了一个轻量级的虚拟机(VM),在这个虚拟机之上可以运行一个真正的 Linux 内核,这给希望同时使用 Windows 和 Linux 的开发人员提供了无缝高效的体验。本文会介绍一些使用WSL的知识,帮助你更好地使用WSL。

justdoyaya的博客 2040

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

PowerShell-WSL-Interop 使用指南

PowerShell-WSL-Interop 使用指南 本教程旨在帮助您理解和使用 PowerShell-WSL-Interop 开源项目,该项目位于 https://github.com/mikebattista/PowerShell-WSL-Interop.git。通过本指南,您将了解其目录结构、关键的启动文件以及配置方法。 1. 项目的目录结构及介绍 PowerShell-WSL-Inter...

gitblog_00485的博客 878

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

WSL系统使用指南

2016年上半年的时候,微软在推出的windows 10 内部预览版中搭载了用户期待已久的windows subsystem for linux (WSL)服务,用户只要开启这项服务就能够在windows系统上体验原生的Linux bash指令操作。下面我们就介绍下在使用这项服务的经验: 一:安装WSL子系统 尽管微软有志于将Linux命令行操作体验整合到Windows系统下来,WSL也作为一项独立的windows服务引进,但这项服务默认是不开启的,要体验Linux需先开启该服务。你有两种方式开启这项服

跨链技术践行者 836

WSL 2 使用指南

本文介绍了 WSL2 的安装过程、使用方式、以及常见的错误处理

weixin_42531317的博客 1633

Windows下WSL安装与使用指南

WSL是微软为Windows用户提供的Linux兼容层,它让开发者可以直接在Windows系统中运行Linux环境。相比传统虚拟机,WSL具有启动速度快、资源占用低等优势。WSL版本选择WSL1通过系统调用翻译层实现,兼容性较好但功能有限WSL2采用轻量级虚拟机技术,支持完整Linux内核功能建议大多数开发者选择WSL2以获得更好的兼容性典型使用场景Web开发环境搭建(Node.js/Python等)Linux命令学习和脚本开发需要同时使用Windows和Linux工具的工作流安装流程详解。

QuartzLynx65的博客 875
上一篇: MCP(模型上下文协议)
下一篇: RabbitMQ 入门与 Go 语言实践
Cxzzzzzzzzzz
博客等级 码龄4年 229粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值