20240926 关于Goland处理wsl-GOROOT原理猜测

GOROOT的原理

go sdk与java jdk类似,是go的编译工具链的集合。

在windows上,我们通过在系统环境变量中添加GOROOT并设置为go sdk地址,使得命令行可以访问到go sdk并执行go test、build等命令,这样设置的变量是全局生效的

而在linux中,我们并没有修改系统环境变量,而是安装go后,将go sdk地址写为GOROOT写在/home/user_name/.bashrc中,并export PATH=$PATH;$GOROOT/bin来调用go sdk,这样设置的变量只在bash中生效(重点来了)

GOPATH已经被弃用,影响不是很大。

问题在哪里?

所以,当Goland调用make时,GOROOT实际上并没有定义,而为了弥补这一点,Goland非常“聪明”地将ide保管的GOROOT、GOPATH加入环境变量发送给make,从而使它能调用go sdk。

这样有什么问题呢?这一套在windows上啥问题也没有,甚至可以支持自定义go sdk版本,但是,聪明的读者可能已经发现,这个GOROOT和make看到的GOROOT根本不是一个东西!!!

我们通过在makefile开头打印GOROOT变量来看一下Goland干了什么好事?
请添加图片描述
请添加图片描述

好家伙,他直接把//wslUbuntu给发了过去,这不是三体人和地球人聊科学吗?make直接看不懂了,直接罢工。

解决办法:有,但是极为丑陋

只说结论的话,确实是有的。
步骤:

  1. 右上角齿轮->Go设置->GOROOT->无SDK
  2. 右上角三个点->编辑配置->取消包含系统变量->添加用户环境变量(GOROOT=“/usr/local/go/bin/”)
  3. 在makefile中添加GOLOCAL=$(GOROOT)/go
  4. 使用GOLOCAL进行GO操作

代价:

  1. 正常wsl开发需要设置Go sdk,这下又要重新设置
  2. 正常终端开发需要用这个makefile的话,又要把makefile改回去

官方赶紧把wsl优化端出来!!!

GoLand提供了一个交互界面来进行cherry-pick操作。要使用这个界面,首先找到你想要进行cherry-pick的commit,然后右键点击该commit,在弹出的菜单中选择"Cherry-Pick"选项。接下来,你将进入cherry-pick的交互界面。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [实战:怎样把间隔的几个commit整理成1个?-2021.11.18](https://blog.csdn.net/weixin_39246554/article/details/121402649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [PhpStorm Git 操作](https://blog.csdn.net/xujingzhong0077/article/details/123838029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [8小时转职Goland工程师-项目案例](https://download.csdn.net/download/abc54250/87562721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值