环境: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. Spring Maven 包的依赖

    <properties> <spring.version>4.3.11.RELEASE</spring.version> </properties> & ...

  2. android 导出apk

    一个困扰了几个月的问题在今天得以解决,运动益智可能有点过,能让一个人思路清晰倒是真! 问题描述:本地调试运行及不加密导出apk运行正常,当加密生成apk安装后,从接口返回的数据总是空.尝试过各种配置, ...

  3. Android图片裁剪解决方案 -- 从相册截图

    在看Storage Access Framework,里面有一个加载相册图片的程序片断,可能是系统版本的问题,无法返回结果,这里找到一个适用于旧版本的方法. 在Android开发中,可以轻松调用一个I ...

  4. js之 data-*自定义属性

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. mint-ui之Loadmore使用

    <template> <div class="page-loadmore"> <div class="page-loadmore-wrapp ...

  6. qtquickcontrols2控件集(使用参考重构)

           随着Qt的版本升级,其自带的controls控件库也不断升级,目前已经到了2.3的版本.本文通过重构并且解读Qt自带的gallery例程,说明新版本controls控件库的相关特性 来自 ...

  7. 使SourceInsight支持Python语言的方法

    刚用家里的电脑看Python代码,发现py的文件在SI不显示,才意识到还没有安装Python.CLF插件.正好把这个方法在这分享一下,毕竟so easy~ 下载点这里–>Python.CLF h ...

  8. 【Python58--正则2】

    一.字符匹配 1.元字符:完整列表:.   ^   $   *   +   ?   { }   [ ]   \   |   ( ) 元字符 描述 .点 匹配除换行符外任意一个字符 x|y 匹配 x 或 ...

  9. Google Protocol Buffer在vs2010下配置

    1.从这里下载protobuf-2.6.1.tar.gz到桌面,并解压,解压后的文件夹为protobuf-2.6.1.(我的桌面为C:\Users\mcl\Desktop) 2 .进入文件夹proto ...

  10. x盒子

    0换成1切回