go build 和 go install
环境: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的更多相关文章
- 转:eclipse maven build、maven install 等区别
原文地址:eclipse maven build.maven install 等区别
- 亲测GO环境搭建,理解go build、go install、go get
GO下载: GO语言中文网下载:https://studygolang.com/dl Mac下直接通过brew instatll go指令即可完成下载安装 GO环境变量配置: $GOROOT=/usr ...
- go build、go install、go get命令详解
(内容凌乱,日后整理!) 原文链接:https://blog.csdn.net/zhangliangzi/article/details/77914943 GO下载: GO语言中文网下载:https: ...
- Go_go build 和 go install
1.作用 go build:用于测试编译包,在项目目录下生成可执行文件(有main包). go install:主要用来生成库和工具.一是编译包文件(无main包),将编译后的包文件放到 pkg 目录 ...
- go build 与go install
相同点都能生成可执行文件 不同点go build 不能生成包文件, go install 可以生成包文件go build 生成可执行文件在当前目录下, go install 生成可执行文件在bin目录 ...
- 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 ...
- 转贴:sudo apt-get install 可以安装的一些软件
Ubuntu 下的一些软件安装sudo apt-get install virtualbox#华主席推荐 2007年年度最佳软件,最佳编辑选择奖得主.....sudo apt-get install ...
- grunt 构建工具(build tool)初体验
操作环境:win8 系统,建议使用 git bash (window下的命令行工具) 1,安装node.js 官网下载:https://nodejs.org/ 直接点击install ,会根据你的操 ...
- RPMForge——Quick Start build system
How to setup multimedia on CentOS-5 CentOS ships with basic sound support for audio content encoded ...
随机推荐
- 常用MarkDown标记
1:加粗 两个*号 加粗 2:代码段 三个` 代码段
- 20145208 蔡野 《网络对抗》Exp5 MSF基础应用
20145208 蔡野 <网络对抗>Exp5 MSF基础应用 链接地址 主动攻击:利用ms08_067_netapi进行攻击 对浏览器攻击:MS10-002 对客户端攻击:adobe_to ...
- python脚本解析json文件
python脚本解析json文件 没写完.但是有效果.初次尝试,写的比较不简洁... 比较烦的地方在于: 1,中文编码: pSpecs.decode('raw_unicode_escape') 2,花 ...
- django基础 -- 5. ORM 数据库操作
一. ORM 对象关系映射 类 ------ 表 类对象 ------ 记录 类属性 ------ 字段 二. 连接数据库配置 1.在 setting.py 文件中重新设置 ...
- selinux权限问题【转】
本文转载自:https://blog.csdn.net/u011386173/article/details/83339770 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- Spring Cloud 入门指南
Spring Cloud 方志朋-史上最简单的 Spring Cloud 教程
- 集训总结DAY.1(18.5.22)——KMP
DAY 1——5.22 in the morning 依稀记得我们有一场contest. at night chf大佬讲KMP,先膜一波~~~ luoguP3375KMP模板题 KMP算法,又称模式匹 ...
- iis6-0 cve-2017-7269 批量验证脚本
代码地址 import subprocess f = open('ips.txt', 'r') flines = f.readlines() vulnsrvs = 0 i = 1 for line i ...
- (转) Face-Resources
本文转自:https://github.com/betars/Face-Resources Face-Resources Following is a growing list of some ...
- (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置
为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...