【发布时间】:2018-11-09 18:55:59
【问题描述】:
我看到在 Go 中你可以直接从 Github 导入包,例如:
import "github.com/MakeNowJust/heredoc"
我知道我在导入行中看到的路径不是 URL,而是包所在的路径(通常相对于 $GOROOT/src/pkg 或 $GOPATH/src)。因此,heredoc 包很可能位于 $GOPATH/src/github.com/MakeNowJust/heredoc 目录中。
现在假设包开发人员决定将代码仓库迁移到 Bitbucket。所以现在库 URL 是bitbucket.com/muchMoreCoolerName/heredoc。他还在代码仓库中添加了一些新功能。
我的问题是如何获得更新后的代码?
我能想到的唯一解决方案是将所有导入更改为新 URL 并再次执行 go get。但是更改库更新的代码似乎有点不方便。
【问题讨论】:
-
是的,更新导入行就是答案。根据托管原始文件的主机,可能会设置重定向,以允许两个名称同时工作。通常,这仅适用于单个平台上的重命名(即
github.com/foo/bar到github.com/foo/baz)。