【问题标题】:Can I set the GOPATH using the go command line tool?我可以使用 go 命令行工具设置 GOPATH 吗?
【发布时间】:2021-01-24 10:50:01
【问题描述】:

我想在编译时使用 go 工具设置 GOPATH,就像在 C/++ 中添加包含路径一样。我希望 gopath 仅在某个项目中使用。不设置环境变量可以吗?

【问题讨论】:

  • 在 unix 上,在 go 命令前加上设置环境变量,例如GOPATH=XXX go build .
  • @icza 那是一个解决方案,但我一般要避免使用环境变量。另外,我在窗户上:)
  • 您可以使用go env -w GOPATH="..."。这不是系统环境变量,而是全局设置。
  • go env 具有 -w 标志和 -u 标志。 -w 设置 Go 环境变量,-u 取消设置。但是,似乎没有办法在构建时将其组合成单个命令,因此您需要手动设置它,运行构建,然后取消设置。
  • 为什么要设置 GOPATH(甚至每个项目)?

标签: go gopath


【解决方案1】:

不要尝试为每个项目使用 GOPATH 来分离依赖项,而是使用 Go 模块。

Go modules 的简短介绍:https://ncona.com/2020/10/introduction-to-golang-modules/

深度,官方介绍:https://blog.golang.org/using-go-modules


我的介绍:

在您的存储库中调用 go init yourModuleName 以开始使用 go 模块。

初始化后,对我来说最重要的命令是go mod tidy。你调用它,它会清理你的 go.mod/go.sum 文件,删除不需要的并添加需要的。

从您的项目文件夹中添加一个新的依赖调用 go get dependencyname 以将其添加到您的 go.mod 文件并能够在您的代码中使用它。

要更新依赖项,只需再次调用go get dependencyname,它就会将版本更新到go.mod 文件中的最新版本。

【讨论】:

    猜你喜欢
    • 2014-09-06
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多