go install 的妙用

更新日期: 2020-05-29 阅读次数: 12344 字数: 375 分类: golang

我之前一直对 go install 干了些什么不太了解。甚至分不清 go get 与 go install 的区别。

最近 golang 代码写的多了,接触的三方库多了,发现 go install 确实非常方便。

例如,GoAdmin 可以通过

go install github.com/GoAdminGroup/go-admin/adm

来安装一个 adm 工具,之后就可以通过 adm 命令来自动生成一些数据表相关的代码。类似 php artisan。

除了安装一些三方工具,我发现还可以来安装一些自己用 golang 写的小工具。

全局安装自己写的工具

例如,我写了一个导入日志的小工具 import_log.go。

go install import_log.go import_log 2020-05-22.csv

这样就将这个工具全局安装了,然后就可以在任意目录下执行该程序了。

如此看来,go install 的用法非常灵活,即可通过包名安装,也可直接指定 go 代码文件名。

go install 的安装路径

查看自己的 go install 目录:

> echo $GOPATH
/home/zhongwei/golang

查看安装了哪些 golang 工具:

> ls $GOPATH/bin
adm*  colly*  dep*  fillstruct*  godef*  gogetdoc*  gopls*  govendor*  import_log*  motion*

参考官方文档的说明: https://golang.org/cmd/go/#hdr-Compile_and_install_packages_and_dependencies

如果 GOPATH 未设置,则会安装到 HOME/go/bin 目录下。

go get 与 go install 的区别

  • go get: add dependencies to current module and install them
  • go install: compile and install packages and dependencies

go get 相对 go install 多了一个添加依赖管理的操作。

tags: go install

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式