使用 WSL2 进行 Go 开发

news2024/12/23 11:27:47

文章目录

  • 1. 安装 WSL2
  • 2. 配置 Ubuntu 环境
    • 配置 root 用户密码
    • 设置默认 root
  • 3. 配置 Go 环境
    • 下载 SDK
    • 配置环境变量
    • 配置 GOPROXY
  • 4. 使用 GoLand 进行开发

由于 kitex 目前对 Windows 下自动生成代码适配不完善,因此使用 WSL2 进行 Go 的开发,在配置 WSL2 环境方面遇到了很多问题,此篇文章总结并解决了这些问题。

在阅读此文章之前请确保电脑已经下载 GoLand,Windows 中不需要下载 Go SDK。

1. 安装 WSL2

在 Windows10/11 系统下安装 WSL2 十分容易,以管理员身份运行 Powershell 输入

wsl --install

等待下载安装完成即可。

默认为 Ubuntu 系统。

2. 配置 Ubuntu 环境

配置 root 用户密码

使用以下命令配置 root 密码

sudo passwd root

输入两次密码后设置成功

设置默认 root

调整 WSL2 默认用户为 root,步骤如下:

  1. cmd切换到ubuntu.exe路径,例如 C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\ubuntu.exe(路径中的用户名改成 Windows 用户的名称,如果找不到 AppData 文件夹可以直接通过在资源管理器路径栏中输入正确的路径访问到 AppData 文件夹)
  2. 在 cmd 中执行 ubuntu.exe config --default-user root
  3. 关闭 wsl wsl --shutdown
  4. 再次启动 wsl wsl,此时默认登录用户为 root

3. 配置 Go 环境

下载 SDK

登录 WSL 系统,
使用下面命令下载 1.19.5 版本的 SDK

wget https://studygolang.com/dl/golang/go1.19.2.linux-amd64.tar.gz

将压缩包解压到 usr/local 目录下

tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz

配置环境变量

使用 vim ~/.bash_profile 打开文件,插入如下内容

export GOPATH=/home/用户名/go
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后执行 source ~/.bash_profile

此时配置好了环境变量

配置 GOPROXY

使用 go install 命令时通常会遇到 i/o timeout 的问题,通过设置 GOPROXY 可解决

go env -w GOPROXY=https://goproxy.io,direct

4. 使用 GoLand 进行开发

在创建项目时,需要将位置和 GOROOT 选择为 WSL 中的路径,如下图所示

在这里插入图片描述

接下来就可以在项目中使用 kitex 进行生成代码了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IEEE参考文献格式生成 之 谢谢你Zotero!

谢谢你Zotero!心酸的开始方法1(有文献pdf)方法2(无文献pdf)方法3(自己写)怎么找到bib文件呢?期刊论文会议论文书籍(专著)心酸的开始 一开始在看到论文模板的…

20230202英语学习

How James Webb Space Telescope Changed Astronomy in Its First Year 你最爱的这些绝美图像,正在改变宇宙学 The most pressing aim of JWST is one of the most ambitious projects in the recent history of astronomy: to look back at some of the first ga…

力扣刷题记录——1078. Bigram 分词、1207. 独一无二的出现次数 、1089. 复写零

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——1078. Bigram 分词、1207. 独一无二的出…

python面向对象:三大特性

python面向对象三大特性:继承、封装、多态 文章目录python面向对象三大特性:继承、封装、多态一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.封装2.继承3.多态总结一、实验目的 掌握类的封装、多态、继承 二、实验原理 面向对象的三…

Python爬虫3-数据解析方法:正则表达式介绍及案例

目录标题1、正则表达式介绍re库的主要功能函数Re库的match对象Re库的贪婪匹配和最小匹配2、正则表达式案例案例1:所有图片爬取案例2:分页爬取案例3:淘宝商品信息案例4:股票数据1、正则表达式介绍 正则表达式re:简洁表达一组字符串…

PCIe设备的配置过程

PCIe设备的配置过程 文章目录PCIe设备的配置过程参考资料:一、 PCIe系统硬件结构二、 PCIe系统软件层次三、事务层TLP格式3.1 Posted和Non-Posted3.2 TLP通用格式3.3 TLP头部四. 配置与RC直连的设备4.1 怎么访问直连的设备4.2 配置EendPoint五、 配置示例5.1 必备知…

PPT绘图笔记2:PPT导出图片结合ps处理图片

ppt导出的图片有透明背景怎么办?我使用的是组合图。 一开始以为是我的分辨率不行,按照官网的说明在注册表上进行修改1。 然后我在查资料的时候在B站看到一个方法可以用ps填充白色背景,并且修改分辨率.首先导入到ps调整的方法2,记…

AXI 总线协议学习笔记(3)

引言 上篇文章主要介绍了 AMBA以及AXI协议的基本内容,本文接续前文,继续介绍AXI协议的 原子访问、传输行为和事务顺序等。 AXI 总线协议学习笔记(2)https://blog.csdn.net/qq_43045275/article/details/128824643 原子访问 原子…

SpringBoot系列 整合MyBatisPlus入门

官网&#xff1a; https://mybatis.plus/ https://mp.baomidou.com/ 由于MyBatisPlus并未被收录到idea的系统内置配置&#xff0c;无法直接选择加入 pom <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-sta…

【string类的简单模拟实现】

目录 1 类中成员变量的声明 2 迭代器 3 一些常用接口 4 六大默认函数 4.1 构造 4.2 拷贝构造 4.3 赋值运算符重载 4.4 析构 5 开空间&&增删查改 6 其他运算符重载 1 类中成员变量的声明 通过上一篇文章对string类的简单使用相信大家对于string类中成员变量已…

Android so库开发——Swig工具使用(五)

SWIG 是一种软件开发工具&#xff0c;它将 C 和 C 编写的程序与各种高级编程语言连接起来。这里我们用它来将 C/C 转换成 Java。 一、Swig安装 1、下载 官网&#xff1a;SWIG官网下载 源码链接 GitHub&#xff1a;https://github.com/swig/swig.git 这两个地址可能会出现无…

关于Java中的BigDecimal

文章目录为什么用BigDecimalBigDecimal构造方法通过静态方法创建BigDecimal对象BigDecimal常用API关于除法运算的roundingMode将BigDecimal转换为基本类型代码展示小结其他文章为什么用BigDecimal 使用float、double及其对应的包装类时&#xff0c;运算精度可能不满足需求 flo…

scrollTo() 无效问题处理

需求&#xff1a; 实现访问当前页面直接滚动到最底部 方案&#xff1a;window对象的scrollTo()方法 API介绍&#xff1a; 参数接收一个点&#xff08;文档坐标&#xff09;&#xff0c;让该点位于左上角。 可选参数为behavior(设置滚动的效果&#xff09; 错误案例&#xff1a;…

【My Electronic Notes系列——数制与编码】

目录 序言&#xff1a; &#x1f3c6;&#x1f3c6;人生在世&#xff0c;成功并非易事&#xff0c;他需要破茧而出的决心&#xff0c;他需要永不放弃的信念&#xff0c;他需要水滴石穿的坚持&#xff0c;他需要自强不息的勇气&#xff0c;他需要无畏无惧的凛然。要想成功&…

剑指 Offer II 005单词长度的最大乘积

给定一个字符串数组 words&#xff0c;请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时&#xff0c;它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串&#xff0c;返回 0。 示例 1: 输入: words ["abcw"…

前端CSS第二阶段-001

&#x1f60a;博主页面&#xff1a;鱿年年 &#x1f449;博主推荐专栏&#xff1a;《WEB前端》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 目录 第二阶段学习目标 一、Emmet语法 1.快速生成HTML结构语法 2.快速生成…

在Runtime下,IL2CPP与Mono打包对应的PSS内存占用问题

1&#xff09;在Runtime下&#xff0c;IL2CPP与Mono打包对应的PSS内存占用问题 ​2&#xff09;获得AssetBundle内部依赖关系的方法 3&#xff09;Unity 2019 Streaming Mipmap在某些情况下采样等级错误 4&#xff09;根据RenderDoc的数据&#xff0c;计算渲染量 这是第322篇UW…

2024年部分MBA/MEM项目提面日程已经开启,气氛已然开始渐涨了

进入到二月份&#xff0c;一切都将愈发生机盎然&#xff01;全国范围内的MBA/MEM/MPA项目都有各自的招生节奏和特点&#xff0c;提前批面试作为项目招考的重要方式之一&#xff0c;每年都会从年初开始陆续开放申请&#xff0c;而对于像浙大等名校来说&#xff0c;提前批面试的批…

mysql:数据库调优策略,sql调优

mysql&#xff1a;数据库调优策略。 硬件&#xff0c;系统配置&#xff0c;数据库表结构&#xff0c;sql及索引通过这些方面来优化项目的数据库层面。 越往后成本越低&#xff0c;但是效果确实越好。 第1步&#xff1a;选择适合的 DBMS第2步&#xff1a;优化表设计第3步&#…

【Java】面向对象笔记(下)

static关键字 static 静态 什么是静态 主要意义是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象&#xff0c;也能使用属性和调用方法&#xff01; static关键字还有一个比较关键的作用就是用来形成静态代码块以优化程序性能。static块可以置于类中的任何…