【问题标题】:Private Go projects and GOPATH beyond go 1.13 [duplicate]Go 1.13 之后的私有 Go 项目和 GOPATH [重复]
【发布时间】:2020-04-10 05:54:08
【问题描述】:

我的项目依赖于一些不可获取的私有 Go 项目。以前我只是把 then 放在 GOPATH 的适当位置(例如,$GOPATH/src/mycompany/mylib/lib.go),生活还不错。即,我不需要应用任何花哨的技术黑客,

Go modules, private repos and gopath

我能够完成我的工作。

现在,随着 1.13 的更新,还有没有什么技术含量低的解决方案,就像把它放在 GOPATH 下的适当位置来解决这样的问题?

谢谢

【问题讨论】:

  • go.mod replace 指令不符合您的要求吗?
  • 从文档中举个例子,replace example.com/me/goodbye => ../goodbye

标签: go


【解决方案1】:

如果您想使用$GOPATH 方式,那么这仍在go1.14.1上工作:

您可以将两个项目(不使用 gomodules)放在您的 GOPATH 中:

  1. 项目fooGOPATH/src/foo/
  2. 项目,我们的库,greetingGOPATH/src/myfancycompany/greeting/

我们的目标是foo 将导入greeting

然后foo/main.go 将如下所示:

package main

import "myfancycompany/greeting"

func main() {
    println("How to greet?")

    greeting.English()
}

我们的库myfancycompany/greeting/greeter.go 将如下所示:

package greeting

func English() {
    println("hi, i am boo")
}

然后go build main.go 运行它./main:

~/go/src/foo$ ./main
How to greet?
hi, i am boo

【讨论】:

  • 非常感谢fabem,这正是我正在寻找的低技术方法!并感谢工作示例。现在我只需要弄清楚为什么我的设置不起作用,但这应该是小问题。再次感谢!!!
猜你喜欢
  • 2019-04-30
  • 1970-01-01
  • 2014-09-06
  • 2014-11-29
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多