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直接看不懂了,直接罢工。
解决办法:有,但是极为丑陋
只说结论的话,确实是有的。
步骤:
- 右上角齿轮->Go设置->GOROOT->无SDK
- 右上角三个点->编辑配置->取消包含系统变量->添加用户环境变量(GOROOT=“/usr/local/go/bin/”)
- 在makefile中添加GOLOCAL=$(GOROOT)/go
- 使用GOLOCAL进行GO操作
代价:
- 正常wsl开发需要设置Go sdk,这下又要重新设置
- 正常终端开发需要用这个makefile的话,又要把makefile改回去
官方赶紧把wsl优化端出来!!!
相关文章:
20240926 关于Goland处理wsl-GOROOT原理猜测
GOROOT的原理 go sdk与java jdk类似,是go的编译工具链的集合。 在windows上,我们通过在系统环境变量中添加GOROOT并设置为go sdk地址,使得命令行可以访问到go sdk并执行go test、build等命令,这样设置的变量是全局生效的&#x…...
Anki 学习日记 - 卡片模版 - 单选ABCD(纯操作)
摘要:在不懂前端语言的情况下自定义卡片模版,卡片模版的字段 安装(官网):Anki - powerful, intelligent flashcards (ankiweb.net) 一、在哪能修改卡片模版 管理笔记模板 - > 添加 -> 问答题 -> 设置名称 二…...
钉钉x昇腾:用AI一体机撬动企业数字资产智能化
“走红”近两年后,大模型正在加速走进千行万业。 由于大模型的主要模态是文字和图片,恰好是数字化办公最基础的内容要素,办公于是成了离AI最近的场景。 公文写作、表格生成、提炼大纲、文本翻译、代码润色、数据统计、智能问答……越来越多…...
【C/C++】 秋招常考面试题最全总结(让你有一种相见恨晚的感觉)
目录 1.C程序编译链接过程 2.浅拷贝和move有区别吗 3.深拷贝和浅拷贝的区别 4.空类的大小 5.类的继承有几种方式,区别是什么? 六、extern 关键字的作用 七、static关键字的作用 八、指针和引用的区别 九、C内存分配方式 十、结构体对齐…...
CSS面试真题 part1
CSS面试真题 part1 1、说说你对盒子模型的理解2、谈谈你对BFC的理解3、什么是响应式设计?响应式设计的基本原理是什么?如何做?4、元素水平垂直居中的方法有哪些?如果元素不定宽高呢?5、如何实现两栏布局,右…...
针对考研的C语言学习(定制化快速掌握重点5)
顺序表 特点: 写代码主要就是增删改查!!! 写代码的边界性非常重要以及考研插入和删除的位置都是从1开始,而数组下标是从0开始 【注】下标和位置的关系 线性表最重要的是插入和删除会涉及边界问题以及判断是否合法 …...
构建高效房屋租赁系统:Spring Boot应用
1 绪论 1.1 研究背景 中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,科研、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象。给我们的生活改变很…...
学习单片机编程和硬件设计步骤
学习单片机编程和硬件设计可以分为几个步骤: 理解基本概念:首先需要了解单片机的基本概念、硬件结构和工作原理 。 选择开发平台:选择一个合适的单片机系列作为起点,如Arduino、ESP8266/ESP32或STM32系列 。 准备工具和环境&…...
.net Framework 4.6 WebAPI 使用Hangfire
C# 使用 Hangfire 第一章 .net Framework 4.6 WebAPI 使用Hangfire 文章目录 C# 使用 Hangfire前言一、hangfire是什么?二、hangfire的特点三、.net Framework 中hangfire的使用方法第一步:创建WebAPI控制器第二步:添加nuget包第三步 创建startup类新建项目startup类Startu…...
两个向量所在平面的法线,外积,叉积,行列式
偶尔在一个数学题里面看到求两向量所在平面的法线,常规方法可以通过法线与两向量垂直这一特点,列两个方程求解;另外一种方法可以通过求解两个向量的叉积,用矩阵行列式 (determinant) 的方式,之前还没见过,在…...
C++之 友元重载 以及最常用的几种友元函数
在之前的友元中就曾经讲过,我们为了去访问修改私有成员中的数据时,只能通过公有的办法去进行访问操作,非常的局限。所以C引用了友元函数,只要加上friend关键字,C的这个类,会自动把这个函数的权限拉到类内&a…...
动态规划(3)——dp多状态问题Ⅰ
题一.按摩师(LeetCode) 题目描述 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集…...
在Mac电脑上安装adb环境
当你在命令行输入 adb version 或adb devices, 报错:zsh: command not found: adb ,那么说明你的 Mac 上没有安装 ADB(Android Debug Bridge),或者它没有添加到你的路径中。你可以按照以下步骤安装和配置 ADBÿ…...
分糖果C++
题目: 样例解释: 样例1解释 拿 k20 块糖放入篮子里。 篮子里现在糖果数 20≥n7,因此所有小朋友获得一块糖; 篮子里现在糖果数变成 13≥n7,因此所有小朋友获得一块糖; 篮子里现在糖果数变成 6<n7…...
Spring中如何为静态变量注入值
在 Spring 中,如果使用 Value 注解注入值,不能将其应用于 static 字段。Spring 只能为实例变量注入值,不能直接对静态变量进行注入。 使用 PostConstruct 初始化: 如果确实需要在静态上下文中使用该值,可以使用 Post…...
HTML5实现唐朝服饰网站模板源码
文章目录 1.设计来源1.1 网站首页-界面效果1.2 唐装演变-界面效果1.3 唐装配色-界面效果1.4 唐装花纹-界面效果1.5 唐装文化-界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcL…...
ESXI识别USB设备
步骤: 插入usb设备到服务器。关闭虚拟机,添加USB控制器,根据U盘选择usb 3.0控制器,再添加usb设备如果usb设备灰色,进入主机打开SSH。使用xshell进行连接,运行以下命令: ESXI识别USB设备 - 插入…...
视频美颜SDK与直播美颜工具API是什么?计算机视觉技术详解
今天,小编将深入探讨视频美颜SDK与直播美颜工具API的概念及其背后的计算机视觉技术。 一、视频美颜SDK的概念 视频美颜SDK是一套用于开发实时美颜效果的工具集,开发者可以利用它在视频流中实现面部特征的优化。这些SDK通常提供了一系列功能,…...
not exist 解决一对多 场景 条件过滤问题
场景: 现在存在一对多关系,蓝色的盒子装的篮球,黄的的盒子装的黄球, 黑色的盒子 (模拟工作类似场景) boxIdballId蓝盒ID-15蓝盒ID-16蓝盒ID-17黄盒ID-212黄盒ID-215黄盒ID-216黑盒ID-38黑盒ID-39 需求&a…...
解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘
问题现象: 某客户反馈在执行脚本的时候文件夹显示存在问题,如下图: 但是脚本文件中的内容并没有\r字符,如下图: 也有客户反馈如下: 问题分析: $\r’是回车符的转义表示。在Unix和Linux系统中,回车符是一个不可见的控制字符,它通常用于文本文件中的行结尾。以上…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
