环境: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. 常用MarkDown标记

    1:加粗 两个*号 加粗 2:代码段 三个` 代码段

  2. 20145208 蔡野 《网络对抗》Exp5 MSF基础应用

    20145208 蔡野 <网络对抗>Exp5 MSF基础应用 链接地址 主动攻击:利用ms08_067_netapi进行攻击 对浏览器攻击:MS10-002 对客户端攻击:adobe_to ...

  3. python脚本解析json文件

    python脚本解析json文件 没写完.但是有效果.初次尝试,写的比较不简洁... 比较烦的地方在于: 1,中文编码: pSpecs.decode('raw_unicode_escape') 2,花 ...

  4. django基础 -- 5. ORM 数据库操作

    一. ORM 对象关系映射 类   ------   表 类对象   ------   记录 类属性   ------   字段 二.  连接数据库配置 1.在  setting.py 文件中重新设置 ...

  5. selinux权限问题【转】

    本文转载自:https://blog.csdn.net/u011386173/article/details/83339770 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...

  6. Spring Cloud 入门指南

    Spring Cloud 方志朋-史上最简单的 Spring Cloud 教程

  7. 集训总结DAY.1(18.5.22)——KMP

    DAY 1——5.22 in the morning 依稀记得我们有一场contest. at night chf大佬讲KMP,先膜一波~~~ luoguP3375KMP模板题 KMP算法,又称模式匹 ...

  8. iis6-0 cve-2017-7269 批量验证脚本

    代码地址 import subprocess f = open('ips.txt', 'r') flines = f.readlines() vulnsrvs = 0 i = 1 for line i ...

  9. (转) Face-Resources

        本文转自:https://github.com/betars/Face-Resources Face-Resources Following is a growing list of some ...

  10. (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置

    为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...