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

1.背景

近期项目中因为用到了 Golang库中的 "log/syslog" 包,而这个包是禁止在windows平台上编译的.

并且在windows环境上开发也会有诸多不便,如执行makefile文件的make命令,本地开发环境中docker,etcd,redis的搭建等等,而这些通过部署wsl去搭建一个linux环境就很可以很方便的解决了.

2.安装WSL 以及 设置linux用户信息

2.1 wsl 安装

前置条件 : windows10及以上版本

进入windows电脑的powershell界面(以管理员身份运行) , 输入wsl --install命令 , 默认安装的linux发行版是ununtu.

相关命令

复制代码
wsl --install # 安装命令

wsl --list --online #查看可用发行版列表

wsl --install -d <distroname> #安装一个发行版

2.2 设置linux用户信息

在安装完成之后,系统将会要求为linux创建用户名和密码 , 此用户名密码 和 windows系统中的用户名密码无关,是独立与每个单独安装的linux发行版的. 并且此账户将是发行版的默认用户,可以执行sudo命令.

2.3 忘记密码

在windows的powershell 界面使用 wsl -u root (如下图) , 使用passwd <username> , <username>是linux账户中的用户名 , 想要修改哪个用户就输入相应的用户名. 根据相应的提示输入新密码即可.

2.4 如何进入linux发行版

同样是先打开windows系统的powershell界面 , 然后输入你安装的发行版的名称即可.如,我安装的linux是ubuntu的系统,输入如下图内容即可.

3. Goland + wsl 搭建跨平台开发环境

首先需要进入linux系统 , 去搭建golang的环境. (这个此处就不再介绍了,推荐使用 go语言版本管理工具g , 可以自行google , 或者参考我的博客 , 不过是windows版本的,操作流程类似 Go版本管理工具g的使用(Windows版本)_windows go版本管理工具-CSDN博客)

3.1 方法一 (稍稍占用内存 , 比较麻烦)

在golang界面打开wsl远程链接

选择安装的wsl实列

选择使用的IDE和打开的项目

  • 如果是已经在windows平台上开发过的项目 , 需要将这个项目从windows平台移动到linux服务器上

我这里因为是在linux机器中已经安装过goland了,所以此处显示已经安装. 没有安装过的需要等待加载完成之后,进行安装.也可以通过安装选项,去修改安装方式.

而且因为是在linux机器上安装的goland , 之前安装的哪些插件之类的也都没用办法同步.

3.2 方法二

正常在windows环境下打开golang, 创建项目/打开已有项目,在编辑配置处选择运行环境,让项目运行与使用wsl安装的linux发行版上 , 并且勾选在远程目标上构建

在管理目标处,设置配置信息 , 分别为GoROOT和GOPATH的环境变量的目录(是linux上的,不能选用windows系统路径)

如果项目启动时,需要执行配置文件的路径 , 则在程序实参处配置--conf path 时, 这个path也需要时linux上的路径,因此如果此处配置启动命令,要求需要将指定的配置文件也放在linux的相应目录中

相关推荐
BD_Marathon9 小时前
将 CentOS 风格的命令行提示符(如 [root@slave1 ~]#)修改为 Ubuntu 风格
linux·ubuntu·centos
Python私教9 小时前
Python爬虫怎么学
后端
liu****9 小时前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节
不会写程序的未来程序员9 小时前
Linux 虚拟机设置静态 IP 地址指南
linux·运维·tcp/ip
欧阳码农9 小时前
盘点这两年我接触过的副业赚钱赛道,对于你来说可能是信息差
前端·人工智能·后端
武子康9 小时前
大数据-151 Apache Druid 集群落地 [上篇] MySQL 元数据 + HDFS 深存与低配调优
大数据·后端·nosql
小何开发9 小时前
Springboot-WebService 服务端发布与客户端调用
java·spring boot·后端
绝无仅有10 小时前
Redis 面试题解析:某度互联网大厂
后端·面试·架构
绝无仅有10 小时前
某度互联网大厂 MySQL 面试题解析
后端·面试·架构
q***697710 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端