环境: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. 叶亚明:合格CTO的六要素(转)

    叶亚明,携程旅行网CTO & 高级技术副总裁,负责携程的移动.Online.呼叫中心等的技术架构.开发及运营.在加入携程之前,叶亚明是ebay.com技术平台总监,领导ebay.com几代网站 ...

  2. yum all installed dependent packages while removing a package in centos 7?

    how to remove all installed dependent packages while removing a package in centos 7? # yum history # ...

  3. win-Linux文件脚本迁移过程中的问题 syntax error: unexpected end of file

    问题:  在win下写好的shell脚本,放到Linux上测试sh -n报错如下 ORA_check.sh: line 251: syntax error: unexpected end of fil ...

  4. 集合框架-Set集合

    代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add(" ...

  5. bzoj 1419 Red is good - 动态规划 - 概率与期望

    Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. Input 一 ...

  6. fatal: unable to access 'https://github.com/open-falcon/falcon-plus.git/': Peer reports incompatible or unsupported protocol version

    git通过git clone下载github上的资源到机器上,结果出现如题所示的错误. [root@server data]# git clone https://github.com/pingcap ...

  7. QSetting

    .初始化,判断是否存在ini文件,如果不存在则新建 void iniConfig() { QFileInfo fileInfo(".\\config.ini"); if (!fil ...

  8. 使用Selenium+Java+Juint实现移动web端自动化的代码实现

    浏览器: Chrome 首先通过developer模式查看Chrome浏览器支持哪些手机,如图: 在代码中使用ChromeOptions对象的addArguments方法来设置参数,如下代码所示: p ...

  9. 搭建git 服务器

    Gogs 什么是 Gogs? Gogs 是一款极易搭建的自助 Git 服务. https://gogs.io/docs

  10. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...