最详细的教程,避开99%的坑,亲测有效

由于大部分教程都是win版本的,所以专门总结了一个linux版本的,其核心在于环境配置和插件安装,经历本人通宵7小时解决了这个问题,用自己的踩坑帮助大家避坑,希望大家多多支持!

安装环境:ubuntu(Linux) + vscode

准备条件:已经安装好vocode

网上有很多教程,这里我就不一一赘述了,有需要的朋友查看其他博客,如果你觉得Github上的vscode源码慢的话,可以采用我的码云下载,我已经建好库,内容一样

https://gitee.com/feng20190/vscode

踩坑第一步:下载go语言环境

Golang官方网站是被屏蔽的,所以只能采用国内网站

https://golang.google.cn/dl/

踩坑第二步:Linux安装Glang

我出现的问题:自己电脑是安装Anaconda的,加上当时自己没有理清一些环境配置环境的概念,后来装到了home目录下,安装到home下可以很好解决权限问题,个人电脑我建议可以这么做

  1. 将下载的二进制包解压至 /usr/local目录
  1. tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
  1. 将 /usr/local/go/bin 目录添加至PATH环境变量:(这是个大坑,需要将环境变量加载到home目录下的.bashrc的文件中,这个文件在每次打开终端的时候都会执行一遍)
  1. export GOPATH=/home/feng/gitRepository/go
  2. export GOROOT=/home/feng/go
  3. export GOOS=linux
  4. export GOTOOLS=$GOROOT/pkg/tool
  5. export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

具体情况我参考了另外一篇博主的理解https://www.cnblogs.com/jackzz/p/10017049.html

解释一下,PATH相当于工作空间(c++里的项目的意思),GOROOT是根目录文件(相当于c++的编译器所在的位置)

  1. 检验你有没有装好环境(这一步一定要做,不然后面的全部白费),也很简单,任意终端输入go env查看所有配置信息(主要在你查看路径的时候使用),如果返回正常,继续下一步,不正常请自行检查错误步骤,或根据相应情况更改

踩坑第三步:vscode环境配置(大大的BUG)

  1. 更改权限,vscode中的一些插件需要安装到GOBIN环境变量下, $sudo chmod 777 $HOME/learn/go/bin其中$HOME自动检测你的GO的工作空间目录

  2. 安装插件GO以及Code Runner(这个不难,不再赘述,需要朋友请查阅相关命令行),vscode会自动配置环境,如果没有,请打开文件->首选项->设置找到扩展中的Go Configuration中的在set ...,打开后输入如下命令行,根据你的情况修改)
  1. {
  2. "workbench.iconTheme": "material-icon-theme",
  3. "python.pythonPath": "/home/feng/anaconda3/bin/python",
  4. "terminal.integrated.inheritEnv": false,
  5. "python.insidersChannel": "off",
  6. "todo-tree.highlights.enabled": false,
  7. "git.autofetch": true,
  8. "git.enableSmartCommit": true,
  9. "python.dataScience.sendSelectionToInteractiveWindow": true,
  10. "workbench.colorTheme": "Slack Theme Dark Mode",
  11. "window.zoomLevel": 0,
  12. "go.useLanguageServer": true,
  13. "files.autoSave": "afterDelay",
  14. "goModGrapher.engine": "dot",
  15. "goOutliner.enableDebugChannel": true,
  16. "goOutliner.extendExplorerTab": true,
  17. "go.autocompleteUnimportedPackages": true,
  18. "explorer.confirmDelete": false,
  19. }

踩坑第四步安装相关插件(最最最核心的一步)

https://goproxy.io/zh/ 直接上网站,其他方法均不适用了,网上有相关教程,就是在上述配置文件中加入以下命令行

  1. # 启用 Go Modules 功能
  2. export GO111MODULE=on
  3. # 配置 GOPROXY 环境变量
  4. export GOPROXY=https://goproxy.io

两句命令行搞定,切记切记切记,然后进入vscode提示安装插件就好了,SUCCESSED!

最后,这是我个人在通宵7小时后踩下的所有坑,这个基本是没有问题的,大家可以放心操作哦,遇到其他问题先看看之前有没有做错,然后再去百度相应问题,对症下下药,希望我这篇文章对你有帮助,也希望我们一同成长!

Ubuntu下安装Golong并用Vscode做IDE最有效方法,避免99%的坑 | 轻松学习GO的更多相关文章

  1. ubuntu下安装eclipse IDE for C/C++ developers

     序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大.linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行li ...

  2. Ubuntu下安装JDK以及相关配置

    1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...

  3. 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

    GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...

  4. 在Ubuntu下安装ovs-dpdk

    在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...

  5. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

  6. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL

    .简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...

  7. Ubuntu下安装并配置VS Code编译C++

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069091.html Ubuntu下安装并配置VS Code编译C++ 安装 ...

  8. Ubuntu下安装Texmaker的问题与解决方案

    在Ubuntu下安装好了texlive后,为了开发方便,希望再继续安装一个编辑器,用于方便的编辑latex文档. 而texmaker就是一个很好的工具. 问题1, 被安装了早期版本的latex 不管你 ...

  9. Ubuntu下安装、激活并配置Pycharm

    Ubuntu下安装.激活并配置Pycharm 最近在学习Python这门语言,到了需要Python编译器学习的阶段,通过网上了解各个Python编译器的优缺点,最后选择了pycharm作为Python ...

随机推荐

  1. O(1)快速乘与O(log)快速乘

    //O(1)快速乘 inline LL quick_mul(LL x,LL y,LL MOD){     x=x%MOD,y=y%MOD;     return ((x*y-(LL)(((long d ...

  2. 使用ImageProcessor、CodeCarvings.Piczard组件生成缩略图和添加水印

    技术栈: 1.ImageProcessor(专业图像处理,不能合成水印,NetCore中有它的升级版ImageSharp目前是预览包) 2.CodeCarvings.Piczard(缩略图,水印都能搞 ...

  3. 浅谈C++运算符重载

    首先,什么是运算符重载? C++里运算符重载主要有两种方法.一是通过类的成员函数进行重载,二是通过类的友元函数进行重载. 下面以简单的复数类complex为例: 下面是通过类的成员函数进行运算符的重载 ...

  4. C++ #include<algorithm>

    今天下午大致学完了进阶指南中algorithm头文件下的内容,在这里进行一个总结.   reverse翻转   顾名思义,reverse进行的操作就是翻转原来的顺序,理解非常简单,故不赘述. 操作样例 ...

  5. 1.2 JAVA的String类和StringBuffer类

    一.String 1.String概念 String不属于基本类型,String是final修饰的是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了如果要对String修改使用 ...

  6. vuex中mutation和action的详细区别

    const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } ...

  7. 在CSS中水平居中和垂直居中:完整的指南

    这篇文章将会按照如下思路展开: 一.水平居中 1. 行内元素水平居中 2. block元素水平居中 3. 多个块级元素水平居中 二.垂直居中 1. 行内元素水平居中 2. block元素水平居中 3. ...

  8. 一百零七:CMS系统之权限和角色模型定义

    模型与权限关系映射表 class CMSPersmission: """ 权限管理映射 """ # 255的二进制方式来表示 1111 11 ...

  9. ElementTree

    http://effbot.org/zone/element-index.htm#installation http://effbot.org/zone/element-xpath.htm

  10. Windows安装多个版本JDK如何切换

    本人电脑同时安装了jdk1.7和1.8,以下时切换jdk版本的方式: 1.修改环境变量: 2.修改注册表: 打开HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft 分别修改Jav ...