在 Go 中修改导入的库

2024-05-07

我的问题

弹性节拍 https://www.elastic.co/products/beats是一个用 Go 编写的日志传送程序的开源项目。它具有多种日志输出功能,包括控制台、Elasticsearch 和 Redis。我想将我自己的输出添加到 AWS Kinesis。

我已将存储库克隆到~/github/beats,并尝试构建它:

$ cd filebeat; go build main.go

但是由于缺少库而失败这是该项目的一部分:

main.go:6:2: cannot find package "github.com/elastic/beats/filebeat/cmd" in any of:
    /usr/local/go/src/github.com/elastic/beats/filebeat/cmd (from $GOROOT)
    /Users/adam/go/src/github.com/elastic/beats/filebeat/cmd (from $GOPATH)

项目的目录依赖于同一存储库中的包,但不是在层次结构中查找某个目录,而是在GOPATH.

So, go get github.com/elastic/beats/filebeat/cmd获取了代码,现在go build main.go作品。更改我的代码GOPATH反映在这些构建中。

这给我带来了结构上的不便。我的一些代码位于工作目录,另一些位于我的GOPATH并包含在我的工作目录中的代码中。

出于各种原因,我希望将所有代码放在一个目录中,尤其是将所有内容置于版本控制之下。

我尝试过什么

主要是寻找问题所在。我对 Go 很陌生,所以我可能错过了正确的术语。

我的问题

在 Go 中编辑导入库的代码的正确方法是什么?


在开发使用以下内容的项目时,此问题的先前答案已过时Go 模块 https://blog.golang.org/using-go-modules.

对于使用Go 模块 https://blog.golang.org/using-go-modules,可以使用以下命令将导入的库(例如 example.com/imported/module)替换为本地模块(例如 ../local/module):

go mod edit -replace=example.com/imported/module=./local/module

或者通过将以下行添加到go.mod file:

replace example.com/imported/module => ./local/module

参考文档:https://golang.org/doc/modules/managing-dependency#unpublished https://golang.org/doc/modules/managing-dependencies#unpublished

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Go 中修改导入的库 的相关文章

随机推荐

  • Indy FTP 传输类型

    我正在使用 IdFTP Indy 10 组件从远程位置下载一些文件 zip 和 txt 在获取每个文件之前 我将 TransferType 设置为二进制 IdFTP TransferType ftBinary IdFTP Get ASour
  • JDBC中为什么要关闭连接?如果我们不这样做,会发生什么

    在java中与数据库通信 我们经常遵循以下步骤 加载驱动程序 建立连接 创建声明或PreparedStatement get the ResultSet 关闭连接 我很困惑我们应该关闭连接 都说创建连接很昂贵 所以为什么我们不能这样做 st
  • 如何在Python中打印颜色/颜色?

    我对 Python 和 StackOverflow 都是新手 需要一点帮助 我想用 Python 打印颜色 并在 Google 上搜索过 但运气不佳 每次我都很困惑 但都没有成功 这是我输入的代码 answer input Wanna go
  • 哪个 C++ 草案?

    我对当前的 C 标准感兴趣 并且对以下链接有点困惑http www open std org jtc1 sc22 wg21 docs papers 2014 http www open std org jtc1 sc22 wg21 docs
  • Scala 中两个地图的交集和合并/连接

    假设我有两张类似这样的地图 val m1 Map 1 gt One 2 gt Two 3 gt Three val m2 Map 2 gt 2 0 3 gt 3 0 4 gt 4 0 我想根据键获取交集并返回一个表示合并值的元组 结果看起来
  • cout 可以以某种方式改变变量吗?

    所以我有一个看起来像这样的函数 float function float x SomeValue return x SomeOtherValue 在某些时候 这个函数会溢出并返回一个非常大的负值 为了尝试准确追踪发生这种情况的位置 我添加了
  • C++中exit和kill的区别

    我已经编写了一个信号处理程序来处理SIG 如果我得到的进程太多 我想终止该进程 那么 以下哪个代码更好 或者我应该同时使用它们 exit 1 or some other exit code kill getpid SIGKILL 您可能不想
  • 如何研究.NET 中的非托管内存泄漏?

    我有一个通过 MSMQ 运行的 WCF 服务 内存随着时间的推移逐渐增加 表明存在某种内存泄漏 我在本地运行该服务并使用 PerfMon 监视一些计数器 CLR 内存托管堆字节总数保持相对恒定 而进程的私有字节随着时间的推移而增加 这让我相
  • 如何将现场 prestashop 站点移至本地主机?

    我在将 PS 1 7 从服务器域传输到本地主机时遇到问题 我已按照 Prestashop 文档中的文件传输的所有步骤进行操作 我执行此步骤 1 将所有 prestashop 文件从服务器下载到我的 mac 并将其放入 mamp htdocs
  • iphone XMPP 应用程序运行后台

    我使用 XMPP 框架创建了一个聊天应用程序 当我退出应用程序 进入后台模式 时 我想接收聊天消息 并且还需要显示图标徽章 我该怎么做 您确实可以通过将基于 XMPP 框架的应用程序称为 VoIP 应用程序来在 iOS4 中的后台运行该应用
  • SBT - 运行任务来设置SettingKey

    所以我的一般问题是我想根据任务的结果设置版本密钥 但是版本密钥是在任务运行之前设置的 据我了解 一旦设置了键的值 我就无法更改它 因此我无法在我的任务中更改它 我想要做的是将任务作为发布任务的依赖项运行并更改版本的值 我觉得一定有办法做到这
  • 从列表视图启动活动

    您好 我有一个列表视图 我正在尝试通过以下方式从列表视图启动一项活动startActivity class java public class ll2 extends Activity public void onCreate Bundle
  • dplyr - 分组并选择 TOP x %

    使用 dplyr 包和函数sample frac可以从每个组中抽取一定比例的样本 我需要的是首先对每个组中的元素进行排序 然后从每个组中选择前 x 有一个功能top n 但这里我只能确定行数 并且我需要一个相对值 例如 以下数据按齿轮分组并
  • Python - 在和不在列表中语法错误

    我正在尝试从另一个现有的浮点数列表构建一个新的浮点数列表 通过示例更容易识别第一个列表的预期内容 price list 39 99 74 99 24 99 49 99 预期的后期功能 print new price list gt gt 2
  • java中filewriter的flush和close函数之间的区别

    我需要知道Java中的flush和close函数之间的确切区别是什么 当在写入文件期间将数据转储到文件中时 请提供一个例子 flush just确保所有缓冲数据都写入磁盘 在这种情况下 更一般地说 通过您正在使用的任何 IO 通道刷新 之后
  • Windows 7 VM 上的 Android Studio 虚拟设备不兼容

    我的计算机上有一个 VirtualBox VM 该 VM 运行 Windows 7 64 位 我在该虚拟机上安装了 Android Studio 我只有基本的 Hello World 应用程序 当我尝试运行 AVD 时 我收到以下消息 运行
  • java:在目录和子目录中根据文件名搜索文件

    我需要根据目录树中的名称查找文件 然后显示该文件的路径 我发现了类似的东西 但它根据扩展名进行搜索 谁能帮助我如何根据我的需要重新编写这段代码 谢谢 public class filesFinder public static void m
  • 使用传感器方向

    在我的应用程序中 我想显示设备方向 例如北 南 东 西 为此 我使用加速度计和磁传感器并尝试使用以下代码 public class MainActivity extends Activity implements SensorEventLi
  • 数据库被锁定?

    我如何修复数据库锁 因为我的测试没有通过 它使同一类别中的一堆测试失败 谢谢 1 UsersController GET edit should have a link to change the Gravatar Failure Erro
  • 在 Go 中修改导入的库

    我的问题 弹性节拍 https www elastic co products beats是一个用 Go 编写的日志传送程序的开源项目 它具有多种日志输出功能 包括控制台 Elasticsearch 和 Redis 我想将我自己的输出添加到