最详细的教程,避开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目录
tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
  1. 将 /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++的编译器所在的位置)

  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 ...,打开后输入如下命令行,根据你的情况修改)
{
    "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的更多相关文章

  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. Centos7安装Redis5.0.3

    1.切换目录 cd tmp 2.下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 3.解压,删除压缩包 tar xzf redi ...

  2. 想学习linux操作系统,于是选择了在win8 虚拟机VM player 里装了Linux版本Centos7

    第一次接触linux,第一次玩linux的命令行哈. 以下python使用的都是自带的python2.x版本 先新建一个简单的文件夹py_studydir 新建该文件夹下面的一个py文件 写入pyth ...

  3. Django基础之cookie

    1. Cookie 1.1 Cookie的由来 大家都知道HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系, 它不会受前面的请求响应情况 ...

  4. Django-批量更新

    1.表结构 class Student(models.Model): """ 学生表(已报名) """ customer = models. ...

  5. Linux网络编程六、报文解析(1)

    一.pcap文件解析 依赖的库:libpcap,头文件:pcap/pcap.h 获取pcap文件:tcpdump,-i:指定监听接口,默认配置好的最小的号码的接口.-w:指定存入文件,将原始报文存入指 ...

  6. CSS-居中方法汇总

    CSS居中是前端工程师经常要面对的问题,也是基本技能之一.今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种.如有漏掉的,还会陆续的补充进来. 水平居中 ...

  7. HTTP之缓存技术

    1. 缓存简介 缓存是位于服务器和客户端的中间单元,主要根据用户代理发送过来的请求,向服务器请求相关内容后提供给用户,并保存内容副本,例如 HTML 页面.图片.文本文件或者流媒体文件.然后,当下一个 ...

  8. 解决WAMP Server与IIS端口冲突问题

    版本前提: 腾讯云服务器 windows server 2012 R2 WampServer3.10  64bit 有两种思路 一.修改wamp端口 文件位置   C:\wamp64\bin\apac ...

  9. 怎么彻底关闭卸载删除Cortana小娜进程,最简单

    原文地址:https://jingyan.baidu.com/article/90bc8fc8be67bcf653640cfa.html Win10中的Cortana是微软开发的一款个人AI助理,集聊 ...

  10. 机器学习 - 算法 - 集成算法 - 分类 ( Bagging , Boosting , Stacking) 原理概述

    Ensemble learning - 集成算法 ▒ 目的 让机器学习的效果更好, 量变引起质变 继承算法是竞赛与论文的神器, 注重结果的时候较为适用 集成算法 - 分类 ▒ Bagging - bo ...