登录
首页 >  Golang >  Go问答

如何在 Go 工作区中导入项目?

来源:stackoverflow

时间:2024-04-14 19:48:31 162浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何在 Go 工作区中导入项目?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有一个包含多个模块的 monorepo。有些模块是库,其他模块是生成二进制文件的入口点。

这是我的工作区项目: https://github.com/alshdavid/go-workspace-example

我在这里有我的“bar”库,我希望该库可供此 mono 存储库之外的消费者导入。

package main

import (
    "fmt"

    "github.com/alshdavid/bar"
    // or maybe: "github.com/alshdavid/gotest/modules/bar"
)

func main() {
    fmt.println(bar.bar)
}

尝试从工作区 git 存储库安装软件包会导致失败。

go get github.com/alshdavid/gotest
go get github.com/alshdavid/gotest/modules/bar
go get github.com/alshdavid/bar # worth a shot

是否有一个参数我应该传递给 go get 来指示在嵌套文件夹中查找模块,或者我应该设置一个管道将我的嵌套模块推送到它自己的存储库?


正确答案


您必须在一个模块内工作,即 ran:在 mono 存储库中的每个模块中执行 mod init 。 例如,在您的情况下,我假设您有名为 bar 的模块,并且您想要将模块 bar 导入另一个模块中,例如foo

模块有一个 go.mod 文件。在 foo 模块的 go.mod 文件中,您可以添加以下内容:

replace github.com/alshdavid/bar => ../bar

您可以阅读有关此here的更多信息

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>