环境:Win10 + GO1.9.2

1.区别

①go build:编译go源码生成一个可执行文件;使用-o参数可以指定生成的可执行文件名称,如go build -o test.exe

②go install:在编译go源码后还会将可执行文件或库文件安装到约定的目录下。(生成出错或者生成位置问题,这里请看下面的注意事项!)

* 在src/DIR下编译出的可执行文件以其所在目录名(DIR)命名
* 将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建
* 将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下

以上部分参考自:《也谈Go语言编程 – Hello,Go!》

2.注意事项:

①使用go env查看具体的环境变量配置,你会发现下面三个最重要的环境变量:

GOBIN为空;

GOPATH指向一个默认的项目路径;

GOROOT指向go的根目录。

②对在GOPATH目录下的项目进行go install,会自动(自动!)在项目对应位置生成bin/pkg等文件夹。

③在其它不是GOPATH目录下的项目进行go install,将会提示如下错误:go install: no install location for directory

解决办法两个:

*第一种(推荐):将项目路径增加到GOPATH中;GOPATH可以设置多个路径,这样每个GOPATH路径下的项目都能自动生成文件夹。

*第二种:设置环境变量GOBIN。

设置后所有项目(包括GOPATH中的项目!)go install后都将生成在GOBIN对应的目录以及同等目录下。

以上。

go build 和 go install的更多相关文章

  1. 转:eclipse maven build、maven install 等区别

    原文地址:eclipse maven build.maven install 等区别

  2. 亲测GO环境搭建,理解go build、go install、go get

    GO下载: GO语言中文网下载:https://studygolang.com/dl Mac下直接通过brew instatll go指令即可完成下载安装 GO环境变量配置: $GOROOT=/usr ...

  3. go build、go install、go get命令详解

    (内容凌乱,日后整理!) 原文链接:https://blog.csdn.net/zhangliangzi/article/details/77914943 GO下载: GO语言中文网下载:https: ...

  4. Go_go build 和 go install

    1.作用 go build:用于测试编译包,在项目目录下生成可执行文件(有main包). go install:主要用来生成库和工具.一是编译包文件(无main包),将编译后的包文件放到 pkg 目录 ...

  5. go build 与go install

    相同点都能生成可执行文件 不同点go build 不能生成包文件, go install 可以生成包文件go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录 ...

  6. VS报错:The build tools for v140 (Platform Toolset = 'v140') cannot be found

    VS低版本打开高版本常会出现的错: The build tools for v140 (Platform Toolset = 'v140') cannot be found. To build usi ...

  7. 转贴:sudo apt-get install 可以安装的一些软件

    Ubuntu 下的一些软件安装sudo apt-get install virtualbox#华主席推荐 2007年年度最佳软件,最佳编辑选择奖得主.....sudo apt-get install ...

  8. grunt 构建工具(build tool)初体验

    操作环境:win8 系统,建议使用 git bash (window下的命令行工具) 1,安装node.js 官网下载:https://nodejs.org/  直接点击install ,会根据你的操 ...

  9. RPMForge——Quick Start build system

    How to setup multimedia on CentOS-5 CentOS ships with basic sound support for audio content encoded ...

随机推荐

  1. maven单元测试报java.lang.IllegalStateException: Failed to load ApplicationContext

    报这个异常java.lang.IllegalStateException: Failed to load ApplicationContext的时候,通常是因为applicationContent.x ...

  2. 【题解】Luogu SP8791 DYNALCA - Dynamic LCA

    原题传送门 这题用Link-Cut-Tree解决,Link-Cut-Tree详解 这道题的难点就在如何求LCA: 我们珂以先对其中一个点进行access操作,然后对另一个点进行access操作,因为L ...

  3. Linux下Keepalived安装与配置

    一.简介 负载平衡是一种在真实服务器集群中分配IP流量的方法,可提供一个或多个高度可用的虚拟服务.在设计负载均衡拓扑时,重要的是要考虑负载均衡器本身的可用性以及它背后的真实服务器.用C编写的类似于la ...

  4. Python3.6.2在线安装pymysql模块

    我是一个python新手刚才使用python写邮件发送代码的时候想着需要连接数据库, 下面的安装步骤 python -m pip install pymysql PS C:\Users\hp> ...

  5. CentOS7的安装以及redis的下载安装和连接redis desktop manager出现的问题

    因为需要在springboot下使用redis,所以打算在linux下使用redis,并且使用redis desktop manage来连接管理,但是一路上出现个种问题现在总结一下. 如何安装Cent ...

  6. bash 特性

    命令hash: 缓存此前命令的查找结果:key-value key:搜索键 value:值

  7. DOM元素加载之前执行的jQuery代码

    <script type="text/javascript"> (function() { alert("DOM还没加载哦!"); })(jQuer ...

  8. FireMonkey 源码学习(2)

    三.TControl FireMonkey重写了TControl的代码,实现了众多接口,如下图: 基类上实现了众多功能,这里不详细描述. 四.TEdit 编辑框是从TControl—TStyledCo ...

  9. 1-1.flutter学习笔记(一)git入门(msysgit图文安装)

    1.下载git-for-windows (1)常用的GitHub客户端msysgit,也就是git-for-windows. (2)登录官网 https://git-for-windows.githu ...

  10. Ubuntu18.04 一些好用的扩展

    原文:https://www.lulinux.com/archives/2589 一些好用的扩展: United:https://www.gnome-look.org/p/1167950/ dynam ...