Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Go软件包设置Mercurial存储库_Mercurial_Go - Fatal编程技术网

为Go软件包设置Mercurial存储库

为Go软件包设置Mercurial存储库,mercurial,go,Mercurial,Go,我正在努力为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 我得到

我正在努力为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"
但当我按照中的说明进行操作时:

它工作得很好

在上面的文档中,他们讨论了
标志。因此,我使用以下条目创建了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>
更新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
不起作用

查看(并附上)后,以及:

  • 确保“导入前缀hg repo root”采用正确的格式
    • 导入别名前缀必须是前缀或与 正在使用“
      go get
      ”提取包
    • 完整的repo根目录必须是包含 不包含“
      .vcs
      ”限定符的方案
    • vcs
      是“
      git
      ”、“
      hg
      ”、“
      svn
      ”等的一种
  • 确保从
    https://?go get=1
    获取的页面确实是您的
    index.html
    页面(不是
    index.htm
    或任何其他
    DirectoryIndex
    指令,如果这是在
    httpd.conf
    文件中设置的)
如果导入别名前缀与导入不完全匹配, 在声明的根目录下执行另一个HTTP获取(该根目录 不需要是域的根)

例如,假设“
camlistore.org/pkg/blobref
”声明 在其HTML标题中:

<meta name="go-import" content="camlistore.org git https://camlistore.org/r/p/camlistore" />
。。。查看以下URL:

https://camlistore.org/pkg/blobref?go-get=1
http://camlistore.org/pkg/blobref?go-get=1
https://camlistore.org/?go-get=1
http://camlistore.org/?go-get=1
最终,它在根目录(
camlistore.org/
)上找到了相同的
go-import

<meta name="go-import" content="camlistore.org git https://camlistore.org/r/p/camlistore" />

。。。并继续信任它,查看git
//camlistore.org/r/p/camlistore
在磁盘上“
camlistore.org
”的导入路径


查看我的更新。对您的输入做了一些更改,但仍不起作用。我将尝试使用
内容
属性'
server.example.com hghttps://server.example.com/go-packages/packagename
'
$ go get camlistore.org/pkg/blobref
https://camlistore.org/pkg/blobref?go-get=1
http://camlistore.org/pkg/blobref?go-get=1
https://camlistore.org/?go-get=1
http://camlistore.org/?go-get=1
<meta name="go-import" content="camlistore.org git https://camlistore.org/r/p/camlistore" />