原文链接: https://astaxie.gitbooks.io/build-web-application-with-golang/zh/01.4.html

原本我是在windows下进行go的环境搭建,但发现写的运行程序一直无法读取当前的文件,在google一阵后,有说是因为windows一些安全措施导致的

总之就是有点头疼,后来我就索性在虚拟机上用ubuntu来构建环境,因为我比较习惯在unix环境下用命令行操作,而且虚拟机和主机的空间隔离,可以随便我瞎折腾

原文链接中的go插件很容易因为网络原因而失败,因此要多次尝试

解决vscode的网络问题,直接依靠vscode去执行插件的下载,是一个很痛苦的事情,我浪费了接近一个小时也没有下载成功,后面在google上找个一个文章来说明如何快速的安装这些依赖的插件

原文地址:https://blog.csdn.net/qq_36546907/article/details/83958134

首先你需要设置好 $GOPATH 或者 $GOROOT 环境变量,$GOROOT一般是我们安装go的目录,例如我的是/usr/local/go/

vscode去下载插件,其实是执行 go get xxxx的命令,我们知道,go get会首先尝试从本地的path路径下去查找,因此将github上面的下载下来,自己本地install就好了

前面这3个步骤是必须的,因为 go install会使用到tools中的,如果你没有这个,那么在执行go install的时候会有类似下面这种错误

cannot find package "golang.org/x/tools/go/gcexportdata" in any of:
/usr/local/go/src/golang.org/x/tools/go/gcexportdata (from $GOROOT)
/Users/xxxxx/go/src/golang.org/x/tools/go/gcexportdata (from $GOPATH)

所以,需要先下载好tools中的包

mkdir -p $GOPATH/src/golang.org/x  //路径下创建此文件
cd $GOPATH/src/golang.org/x      //切换到此目录
git clone https://github.com/golang/tools.git  //通过git安装 tools

例如我这里需要装gocode,首先我创建目录 mkdir -p $GOPATH/github.com/mdempsky/,然后进入到这个目录cd $GOPATH/github.com/mdempsky/,执行git clone https://github.com/mdempsky/gocode.git,这个git仓库源码下载下来之后,我们需要进行go的编译安装,这样我们才可以使用,执行go install github.com/mdempsky/gocode,如果没有任何信息输出,则表示成功

然后我们执行

go get -v github.com/mdempsky/gocode 或者 go get -u -v github.com/mdempsky/gocode,后者会进行更新检查,这里因为我们从github上下载下来的,已经是最新了,所以采用第一种方式就可以了。

然后我们再打开vscode,会提示我们要重新打开窗口,然后选择是,则我们这个插件就安装好了

ubuntu 上搭建 go的开发环境 vscode的更多相关文章

  1. 在Ubuntu上搭建kindle gtk开发环境

    某个角度上说,kindle很类似android,同样的Linux内核,同样的Java用户层.不过kindle更注重简单.节能.稳定.Amazon一向认为,功能过多会分散人们阅读时候的注意力. Kind ...

  2. 【转】使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

  3. 使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

  4. Ubuntu上搭建Watir-Webdriver与Cucumber环境

    本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...

  5. 如何在Ubuntu下搭建Android NDK开发环境

    1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...

  6. 转-在Mac OS上搭建Python的开发环境

    在Mac OS上搭建Python的开发环境   本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...

  7. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

  8. 15分钟在笔记本上搭建 Kubernetes + Istio开发环境

    11月13~15日,KubeCon 上海大会召开,云原生是这个秋天最火热的技术.很多同学来问如何上手 Kubernetes和Istio 服务网格开发.本文将帮助你利用Docker CE桌面版,15分钟 ...

  9. 在MAC上搭建python数据分析开发环境

    最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百 ...

随机推荐

  1. Java使用hasNext()输入不定长数组

    1 Scanner scan = new Scanner(System.in); 2 String s = scan.nextLine(); 3 Scanner sc = new Scanner(s) ...

  2. Servlet中获取请求参数问题

    1.GET方法,可以通过getParamter方法反复获取同一个变量的数据: 2.POST方法,需要注意请求类型(content-Type)是否是application/x-www-form-urle ...

  3. 20201213-1 HTML基本标签(一)

    > HTML 基本结构 <> </> 标签对   > 一个 HTML 文档由 4 个基本部分组成: 文档声明:<!DOCTYPE HTML>声明这是一个 ...

  4. MySQL01-数据库概述

    1.概述 1.1 什么是数据库? 用于存储和管理数据的仓库. 1.2 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 - ...

  5. React中JSX的理解

    React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是J ...

  6. Web服务器-HTTP相关-快速整一个服务器响应浏览器(3.2.1)

    @ 目录 1.HTTP分析 2.简单服务器 关于作者 1.HTTP分析 当你去访问一个网址的时候,浏览器会发送而各种头信息给服务器 然后服务器根据信息,返回一定数据的格式 最简单的就是下面的代码 自己 ...

  7. Golang--函数签名相同

    Golang--函数签名相同 条件 必须函数的函数名,参数和返回值(类型,个数,顺序)都相同. 验证 例子: 定义函数类型,让相同签名的函数自动实现某个接口. Negtive: package int ...

  8. 图解HTTP权威指南 | HTTP报文

                                                                                    一.问题 1.报文流是如何流动的 2.H ...

  9. JavaWeb基础总结:Servlet专题

    最近工作中有部分整改老接口的任务,大部分与Spring的拦截器,Tomcat相关,改到一些底层的代码发现,对基础J2EE的知识有些遗忘,需要频繁查阅,索性从头系统的整理一下Servlet和Filter ...

  10. python初学者-从键盘获取信息

    name = input(">>> 姓名:") QQ = input(">>>QQ: ") phone_num = inpu ...