Ubuntu下安装Golong并用Vscode做IDE最有效方法,避免99%的坑 | 轻松学习GO
最详细的教程,避开99%的坑,亲测有效
由于大部分教程都是win版本的,所以专门总结了一个linux版本的,其核心在于环境配置和插件安装,经历本人通宵7小时解决了这个问题,用自己的踩坑帮助大家避坑,希望大家多多支持!
安装环境:ubuntu(Linux) + vscode
准备条件:已经安装好vocode
网上有很多教程,这里我就不一一赘述了,有需要的朋友查看其他博客,如果你觉得Github上的vscode源码慢的话,可以采用我的码云下载,我已经建好库,内容一样
踩坑第一步:下载go语言环境
Golang官方网站是被屏蔽的,所以只能采用国内网站
踩坑第二步:Linux安装Glang
我出现的问题:自己电脑是安装Anaconda的,加上当时自己没有理清一些环境配置环境的概念,后来装到了
home
目录下,安装到home
下可以很好解决权限问题,个人电脑我建议可以这么做
- 将下载的二进制包解压至 /usr/local目录
tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
- 将 /usr/local/go/bin 目录添加至PATH环境变量:(这是个大坑,需要将环境变量加载到
home
目录下的.bashrc
的文件中,这个文件在每次打开终端的时候都会执行一遍)
export GOPATH=/home/feng/gitRepository/go
export GOROOT=/home/feng/go
export GOOS=linux
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
具体情况我参考了另外一篇博主的理解https://www.cnblogs.com/jackzz/p/10017049.html
解释一下,PATH相当于工作空间(c++里的项目的意思),GOROOT是根目录文件(相当于c++的编译器所在的位置)
- 检验你有没有装好环境(这一步一定要做,不然后面的全部白费),也很简单,任意终端输入
go env
查看所有配置信息(主要在你查看路径的时候使用),如果返回正常,继续下一步,不正常请自行检查错误步骤,或根据相应情况更改
踩坑第三步:vscode环境配置(大大的BUG)
更改权限,vscode中的一些插件需要安装到GOBIN环境变量下,
$sudo chmod 777 $HOME/learn/go/bin
其中$HOME
自动检测你的GO的工作空间目录- 安装插件GO以及Code Runner(这个不难,不再赘述,需要朋友请查阅相关命令行),vscode会自动配置环境,如果没有,请打开
文件->首选项->设置
找到扩展
中的Go Configuration
中的在set ...
,打开后输入如下命令行,根据你的情况修改)
{
"workbench.iconTheme": "material-icon-theme",
"python.pythonPath": "/home/feng/anaconda3/bin/python",
"terminal.integrated.inheritEnv": false,
"python.insidersChannel": "off",
"todo-tree.highlights.enabled": false,
"git.autofetch": true,
"git.enableSmartCommit": true,
"python.dataScience.sendSelectionToInteractiveWindow": true,
"workbench.colorTheme": "Slack Theme Dark Mode",
"window.zoomLevel": 0,
"go.useLanguageServer": true,
"files.autoSave": "afterDelay",
"goModGrapher.engine": "dot",
"goOutliner.enableDebugChannel": true,
"goOutliner.extendExplorerTab": true,
"go.autocompleteUnimportedPackages": true,
"explorer.confirmDelete": false,
}
踩坑第四步安装相关插件(最最最核心的一步)
https://goproxy.io/zh/ 直接上网站,其他方法均不适用了,网上有相关教程,就是在上述配置文件中加入以下命令行
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io
两句命令行搞定,切记切记切记,然后进入vscode提示安装插件就好了,SUCCESSED!
最后,这是我个人在通宵7小时后踩下的所有坑,这个基本是没有问题的,大家可以放心操作哦,遇到其他问题先看看之前有没有做错,然后再去百度相应问题,对症下下药,希望我这篇文章对你有帮助,也希望我们一同成长!
Ubuntu下安装Golong并用Vscode做IDE最有效方法,避免99%的坑 | 轻松学习GO的更多相关文章
- ubuntu下安装eclipse IDE for C/C++ developers
序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行li ...
- Ubuntu下安装JDK以及相关配置
1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...
- 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)
GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...
- Ubuntu下安装并配置VS Code编译C++
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069091.html Ubuntu下安装并配置VS Code编译C++ 安装 ...
- Ubuntu下安装Texmaker的问题与解决方案
在Ubuntu下安装好了texlive后,为了开发方便,希望再继续安装一个编辑器,用于方便的编辑latex文档. 而texmaker就是一个很好的工具. 问题1, 被安装了早期版本的latex 不管你 ...
- Ubuntu下安装、激活并配置Pycharm
Ubuntu下安装.激活并配置Pycharm 最近在学习Python这门语言,到了需要Python编译器学习的阶段,通过网上了解各个Python编译器的优缺点,最后选择了pycharm作为Python ...
随机推荐
- 题解 [BZOJ2159] Crash的文明世界
题面 解析 这题一眼换根DP啊 首先,我们考虑一下如何转换\(n^m\)这个式子, 先把式子摆出来吧:\(n^m=\sum_{j=0}^mS(m,j)C_n^jj!\) 其中\(S(m,j)\)表示第 ...
- java+上传整个文件夹的所有文件
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...
- cropbox.js 头像裁剪插件
cropbox.js 一个轻量级和简单的JavaScript,Jquery,YUI插件来裁剪您的头像. 特征 支持dataUrl显示图像(函数getDataURL) 支持Blob上传图片(函数getB ...
- layer提示带文字
直接撸代码: //加载层-风格4 layer.msg('加载中', { icon: 16 ,shade: 0.01 });
- Codeforces 869E. The Untended Antiquity (二维Fenwick,Hash)
Codeforces 869E. The Untended Antiquity 题意: 在一张mxn的格子纸上,进行q次操作: 1,指定一个矩形将它用栅栏围起来. 2,撤掉一个已有的栅栏. 3,询问指 ...
- Java内置锁synchronized的实现原理及应用(三)
简述 Java中每个对象都可以用来实现一个同步的锁,这些锁被称为内置锁(Intrinsic Lock)或监视器锁(Monitor Lock). 具体表现形式如下: 1.普通同步方法,锁的是当前实例对象 ...
- Docker+Rancher构建部署流水线
工作多年,在项目部署方面, 1:以前用ftp或者rz上传更新的,每次更新算上打包.目录切换.更新遗漏.备份.出错还原.启动等工作都得搞上一来小时甚至更长,要是多两台服务器那心都凉了: 2:后来有用sv ...
- IntelliJ IDEA 2017.3 多模块右边栏 maven projects,maven项目命名问题
我新建了一个maven web 模块,命名为cloud-access,可是install的时候,名字突然变为cloud-access Maven Webapp了,我就纳闷了,怎么回事.找了很久没发现原 ...
- Nginx-HTTP之框架的初始化
http 框架的初始化与 nginx-rtmp 框架的初始化类似: Nginx-rtmp之配置项的管理 1. ngx_http_module_t ngx_http_module 核心模块定义了新的模块 ...
- tensorflow训练中出现nan
问题暂记: 之后看 https://blog.csdn.net/qq_23142123/article/details/80526931 https://www.zhihu.com/question/ ...