说我要创建一个项目并将其托管在GitHub上,我必须创建项目结构是这样的:
src/github.com/user/
myproject/
main.go
util/
fileutil.go
在main.go中,我必须将导入写为:
import github.com/user/myproject/util/fileutil
并且现在我也想将此项目托管到SourceForge上,是否应该复制整个项目并修改路径?似乎还不够好。还有其他方法吗?我需要的只是在src文件夹下创建我的项目,并且可以根据需要将其托管到任何回购中,而无需更改软件包。
如果开发应用而不是库
如果您不打算让其他项目“导入”您自己的项目(也就是说,如果您正在实现的是应用程序而不是库),则有可能避免github.com
在本地路径中进行任何引用。
注意:这不是推荐的方法,但是从我的测试来看,它确实有效,如果您以此方式构建代码,则可以编译,运行和测试代码。
您可以如下创建项目结构:
src/
myproject/
main.go
util/
fileutil.go
然后,您可以像这样导入:
import "myproject/util/fileutil"
然后,您可以在myproject
任何位置托管文件夹的内容,而无需更改项目文件中的路径。
如果开发图书馆
如果您实际上是在开发其他人将能够导入的库,那么它将变得更加复杂,因为这些项目实际上将需要完整的路径来导入您的项目。
您可以创建“虚荣”导入路径,例如myproject.io/...
使用meta
此处所述的标记:
https://golang.org/cmd/go/#hdr-Remote_import_paths
这样,当该go
工具查询您的myproject.io/
页面时,您应该使用以下标题进行响应:
<meta name="go-import" content="myproject.io git https://github.com/user/myproject">
然后,如果决定离开github,请更改返回的标头。
请注意,这不会阻止用户直接从github导入您的项目,如果要避免您需要使用canonical import path
规范中描述的技术:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句