go - 需要在本地调试依赖项
问题描述
我需要调试一个带有一些打印到标准输出的项目:https ://github.com/protolambda/zcli
它对此有依赖性:https ://github.com/protolambda/zrnt
我需要调试的代码在zrnt
.
我已经在zcli
本地安装了该工具,并且可以在两者中go get -u -tags preset_minimal github.com/protolambda/zcli
看到代码- 所以我的问题是:我应该在哪里编辑以及应该使用什么命令来重建它?zrnt
~/go/pkg/mod/github.com
~/go/src/github.com
当我完成后,是否有任何简单的方法可以从包的源中删除所有本地更改 - 比如git checkout .
?
我对 Go 完全陌生,如果我能在几个小时内避免学习包管理,那将是可取的......
解决方案
一种方法是使用Go modules。
- 菜单激活模块模式:
$ export GO111MODULE=on
- 初始化一个新模块:
$ go mod init github.com/protolambda/zcli
go: creating new go.mod: module github.com/protolambda/zcli
- 现在转到项目目录 (
$cd github.com/protolambda/zcli
) 并运行:
$ go mod tidy
$ go mod vendor
- 运行这些命令将创建一个
vendor
包含所有依赖项的文件夹。以您喜欢的方式编辑它们并使用以下命令来构建您的项目。
$ go build ./...
- 用于
$ go mod vendor
重置主模块的供应商目录。
推荐阅读
- c# - 用于方法的命名可选参数
- python - 我有一个 CSV,想用另一个 CSV 中的值更新它。最有效的方法是什么?
- ruby-on-rails - 使用 activity_notification 未收到通知
- r - 当我从 txt 文件中读取时,它作为一列返回 -R
- apache-spark - Spark SQL 为 HIVE 表中的列返回空值,而 HIVE 查询返回非空值
- reactjs - 在 React 中发布更改的表单字段值
- javascript - 处理按键事件时在我的输入字段中插入双字符
- java - 将多个并行对象加入单个列表
- python - 如何在 eve-sqlalchemy 中查询嵌套集合中的资源?
- arrays - 使用RBF时python中的IdentationError