当前位置: 首页 > 面试题库 >

深入了解库

赫连宏伯
2023-03-14
问题内容

我试图了解如何使用Golang和forks。情况如下,我在写一个project依赖于library的库github.com/other/some_dependency,这不是我的。

由于some_dependency缺少我需要的一些方法,因此将其分叉到github.com/me/some_dependency。但是,我不能只是这样做goget github.com/me/some_dependency,库引用了自己,所以它坏了。

在本文中,他们提供了可能的解决方案:

 go get github.com/other/some_dependency
 cd $GOPATH/src/github.com/other/some_dependency
 git remote add fork git@github.com:me/some_dependency
 git rebase fork/master

现在,这充其量是hacky。从库代码中无法得知依赖项来自其他存储库。任何go get使用我的图书馆的人都无法使其正常运行。

由于dep有望成为正式的依赖管理器。我发现了如何修复版本:

dep ensure -add github.com/foo/bar@v1.0.0

但是我找不到如何设置其他遥控器。有可能做到吗?例如,在带有npm的Node.js中,它非常简单:

npm install git+https://git@github.com/visionmedia/express.git

问题答案:

如果您查看,help则会看到以下内容:

<import path>[:alt source URL][@<constraint>]

因此,github.com/foo/bar要从位置添加,github.com/fork/bar您必须像这样添加它:

dep ensure -add github.com/foo/bar:github.com/fork/bar

源位置将作为source属性添加到中Gopkg.toml

Gopkg文档依赖关系规则约束和覆盖



 类似资料:
  • logstash 已经拥有数以百计的插件,并提供了一站式的部署方式,极大的方便了新手入门。但在实际运用上,我们终究会碰上其他人还没碰到过,或者碰到过但没公布出来完整解决方案的问题。可能是某些环境适配,可能是某个环节的性能不佳,可能是某处硬编码设置不合理,等等等等。这时候,了解一些 logstash 的代码逻辑,了解 logstash 之所以做出当前选择的缘由。是有助于解决实际问题的。 此外,log

  • 在这本教程的一开始 (第 6 章, 构建脚本基础) 你已经学习了如何创建简单的任务. 然后你也学习了如何给这些任务加入额外的行为, 以及如何在任务之间建立依赖关系. 这些仅仅是用来构建简单的任务. Gradle 可以创建更为强大复杂的任务. 这些任务可以有它们自己的属性和方法. 这一点正是和 Ant targets 不一样的地方. 这些强大的任务既可以由你自己创建也可以使用 Gradle 内建好的

  • 深入了解Bundle和Map 原文链接 : The mysterious case of the Bundle and the Map 译文出自 : 开发技术前线 www.devtf.cn 译者 : yinna317 校对者: chaossss 状态 : 翻译完成 前言 因为往Bundle对象中放入Map实际上没有表面上看起来那么容易。 这篇博客是在Eugenio @workingkills Ma

  • 本文向大家介绍深入了解MyBatis参数,包括了深入了解MyBatis参数的使用技巧和注意事项,需要的朋友参考一下 深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Caus

  • 下面补充的部分原本是第 14 章,最新的 Gradle 文档将其移除,所以将其作为补充放到这一章节。

  • 本文向大家介绍深入了解python列表(LIST),包括了深入了解python列表(LIST)的使用技巧和注意事项,需要的朋友参考一下 Python 内置的四种常用数据结构:列表(list)、元组(tuple)、字典(dict)以及集合(set)。 这四种数据结构一但都可用于保存多个数据项,这对于编程而言是非常重要的,因为程序不仅需要使用单个变量来保存数据,还需要使用多种数据结构来保存大量数据,而