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

news/2024/9/22 2:32:04/

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界面 , 然后输入你安装的发行版的名称即可.如,我安装的linuxubuntu的系统,输入如下图内容即可.

     

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的相应目录中


http://www.ppmy.cn/news/1528657.html

相关文章

[数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3548 标注数量(xml文件个数)&#xff1a;3548 标注数量(txt文件个数)&#xff1a;3548 标注…

linux-网络相关概念

一、tcp/ip网络模型 tcp/ip网络模型包含4层(应用、传输、internet、链路),描述不同协议如何进行互操作,以便计算机通过互联网将流量从一台计算机发送到另一台计算机 应用applicationo层: 应用程序,常见应用包括ssh、https、nfs或cifs、smtp等 传输tr…

吉首大学--23级题目讲解

7-1 单链表基本操作 在 C/C 中&#xff0c;.&#xff08;点&#xff09;和 ->&#xff08;箭头&#xff09;运算符用于访问结构体或类的成员&#xff0c;但它们的使用场景不同。 1. . 运算符 . 运算符用于访问结构体或类的成员&#xff0c;通过对象或结构体变量直接访问。…

嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)

一、概述 线程是一种轻量级的并发执行的机制。线程是进程中的一个实体&#xff0c;它执行在同一进程的上下文中&#xff0c;共享同一内存空间&#xff0c;但拥有独立的栈空间。 C语言的线程使用pthread库实现&#xff0c;通过包含头文件 pthread.h 来使用相关的函数和数据类型 …

Bugku---密码学---乐谱密码

题目出处&#xff1a;首页 - Bugku CTF ✨打开后发现是一张乐符图 ✨一般我们所熟悉的「Do Re Mi Fa Sol La Si」&#xff0c;若写成音名&#xff0c;即是「C D E F G A B」。不过德国人习惯使用的音名则是「C D E F G A H」&#xff0c;「B」代表 音名B♭ 。 C也就是后面的4&…

❤Node09-用户信息token认证

❤Node09-用户信息token认证​ 1、安装​ jsonwebtoken 比较官方的称呼为JSON Web Token&#xff08;JWT&#xff09;,一种开放标准&#xff08;RFC 7519&#xff09;,就类似砸门认知的w3c&#xff0c;主要就是更安全地传输信息。利用数字签名验证数据的完整性和身份。 所以J…

windows安装docker、elasticsearch、kibana、cerebro、logstash

文章目录 1. 安装docker1.1. 两大要点1.1.1. 安装启用hyper-v电脑不存在hyper-v的情况 1.1.2. 下载安装docker 2. 在docker里面安装elasticSearch&#xff0c;kibana&#xff0c;cerebro3. 安装logstash-将数据导入到elasticSearch3.1 安装logstash3.1.1 注意事项3.1.1.1. 等了…

基于Prometheus和Grafana的现代服务器监控体系构建

引言 随着云计算、微服务架构和容器化技术的普及&#xff0c;服务器的监控需求变得越来越复杂。现代企业不仅需要监控传统的物理服务器和虚拟机&#xff0c;还需要实时监控动态环境中的容器、微服务和分布式系统。针对这种复杂的IT环境&#xff0c;传统的监控工具往往不再适用&…