我正在努力为go包设置一个本地Mercurial存储库。
所有mercurial包目录都可以位于以下url下:
https://server.example.com/go-packages/我可以通过以下方式克隆包:
hg clone https://server.example.com/go-packages/packagename这很好用。
当我想要使用go命令行安装软件包时:
go get server.example.com/go-packages/packagename我得到以下错误:
package server.example.com/go-packages/packagename: unrecognized import path "server.example.com/go-packages/packagename"但是当我按照http://golang.org/cmd/go/中的解释这样做时:
go get server.example.com/go-packages/packagename.hg它工作得很完美。
在上面的文档中,他们谈到了<meta>标志。因此,我创建了一个包含以下条目的index.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="go-import" content="import-prefix hg repo-root">
<title>packagename</title>
</head>
<body>
<h1>packagename</h1>
</body>
</html>更新:
当我执行wget -O- https://server.example.com/go-packages/packagename/?go-get=1 --no-check-certificate时,我会得到:
!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="go-import" content="import-prefix hg repo-root">
<title>packagename</title>
</head>
<body>
<h1>packagename</h1>
</body>
</html>更新2
我发现,我的内容是错误的(复制粘贴错误),现在我将其更改为:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="go-import" content="server.example.com/go-packages/packagename hg https://server.example.com/go-packages/packagename" />
<title>packagename</title>
</head>
<body>
<h1>packagename</h1>
</body>
</html>其中,go-packages是包含mercurial存储库packagename的目录。
但go get server.example.com/go-packages/packagename仍然不起作用。
发布于 2012-09-13 19:00:14
在查看了this issue (以及附加的code review)和this thread之后
go get"..vcs“的存储库的完整URL根qualifier.vcs是"git”、"hg“、"svn”、etc.之一
https://<import>?go-get=1获取的页面确实是您的index.html页面(而不是index.htm或任何其他DirectoryIndex指令,例如,如果这是在httpd.conf文件中设置的)如果导入别名前缀与导入不完全匹配,则在声明的根(不需要是域的根)处执行另一个HTTP fetch。
例如,假设"camlistore.org/pkg/blobref“在其HTML头中声明:
https://stackoverflow.com/questions/12404109
复制相似问题