我在个人VPS上托管我的git存储库,我有一个我想要"go get"的软件包.我试图通过发出"go help importpath"找到帮助文档,但没有运气.无论我做什么,我都会收到以下错误:
package example.com/user/package: unrecognized import path "example.com/user/package"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所提到的META标签的每个组合以及相同的结果.
<meta name="go-import" content="example.com git http://example.com/user/package">
Run Code Online (Sandbox Code Playgroud)
可以通过http://example.com/user/package.git访问实际的git存储库.我可以直接克隆它,但我想去下载并正确安装它.
根据帮助文档,如果go向http://example.com/user/package?go-get=1发出请求,则返回的页面包含META标记.如果go然后向http://example.com/?go-get=1发出后续请求,则返回的页面也包含完全相同的META标记.
是否需要在服务器上进行任何特殊配置?我不这么认为,因为go会通过http请求访问存储库.
我的智慧结束了.我们将非常感谢您提供的任何帮助.
Not*_*fer 18
这是我为nitx配置的元标记,以便为gitlab服务器返回:如果您请求 http://mygit.server/group/project?go-get=1
你得到:
<meta content='mygit.server/group/project git git+ssh://git@mygit.server/group/project.git' name='go-import'>
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力.
这是执行此操作的nginx重写规则:
location ~ "(/[^/]+/[^/]+)(/.*)?" {
if ($arg_go-get = "1") {
echo '<html><head><meta name="go-import" content="my.domain.com$1 git git+ssh://git@my.domain.com$1"/></head></html>';
}
try_files $uri $uri/index.html $uri.html @gitlab;
}
Run Code Online (Sandbox Code Playgroud)
这当然假设您正在使用git而不是ssh.如果您使用https,则相应地重写网址.
| 归档时间: |
|
| 查看次数: |
4293 次 |
| 最近记录: |