go install 的妙用

文章目录

    我之前一直对 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 多了一个添加依赖管理的操作。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式