安装第三方包时出现"unrecognized import path"错误

3

详细信息:

C:\>go get -u github.com/hidu/proxy-manager
package code.google.com/p/go.net/proxy: Get http://www.google.com/hangouts/: stopped after 10 redirects
package golang.org/x/crypto/blowfish: unrecognized import path "golang.org/x/crypto/blowfish"
package golang.org/x/crypto/cast5: unrecognized import path "golang.org/x/crypto/cast5"
package golang.org/x/crypto/salsa20/salsa: unrecognized import path "golang.org/x/crypto/salsa20/salsa"

我觉得可能是因为Google在中国被禁止了?

如何解决这个错误?

3个回答

2

我在这里开了一个问题 https://github.com/hidu/proxy-manager/issues/2,并得到仓库所有者的帮助解决了它。

我尝试安装的软件包正在使用 godepgo vendor
go vendor 需要 go 1.5 +,最重要的是:

export GO15VENDOREXPERIMENT=1

这个命令可以使安装成功。

很好的反馈,比我的回答更精确。+1 - VonC

1

可能也是因为 code.google.com/p/go.net 已经被存档

请确保您正在使用的项目包括最近的 go.net 项目分支,例如 github.com/hashicorp/go.net

如果您无法直接更改 github.com/hidu/proxy-manager,则需要先 fork 一下。
然后在 hidu/proxy-manager/manager/client.go#L4 中更改导入。

对于 "未识别的导入路径",请参见此线程

一个常见的解释是有东西阻止了访问域名。go get -v golang.org/x/crypto/blowfish会告诉你更多信息。对我来说,最后一部分有效。
C:\Users\vonc\prog>go get -v golang.org/x/crypto/blowfish
Fetching https://golang.org/x/crypto/blowfish?go-get=1
Parsing meta tags from https://golang.org/x/crypto/blowfish?go-get=1 (status code 200)
get "golang.org/x/crypto/blowfish": found meta tag 
    main.metaImport{Prefix:"golang.org/x/crypto", 
                    VCS:"git", 
                    RepoRoot:"https://go.googlesource.com/crypto"} 
at https://golang.org/x/crypto/blowfish?go-get=1
get "golang.org/x/crypto/blowfish": verifying non-authoritative meta tag
Fetching https://golang.org/x/crypto?go-get=1
Parsing meta tags from https://golang.org/x/crypto?go-get=1 (status code 200)
golang.org/x/crypto (download)
golang.org/x/crypto/blowfish

是的,我认为这正是原因:您不能从不再存在的存储库中进行go get操作。(而且您也不应该这样做。) - Volker
我修改了 client.go#L4 https://github.com/eromoe/proxy-manager/commit/20365284fc198438bc852f2495b1484ac50317c7 ,并通过 go get -u github.com/eromoe/proxy-manager 进行安装,但仍然出现相同的错误。而 go get -v golang.org/x/crypto/blowfish 显示 https fetch failed - Mithril
我发现 proxy-manager\Godeps\Godeps.json 中也包含 code.google.com/p/go.net/proxy。我已经更改了它,但仍然无法工作。 $ go get -u github.com/eromoe/proxy-manager package code.google.com/p/go.net/proxy: Get ``http://www.google.com/hangouts/: EOF - Mithril
@Mithril 也许你需要先解决 https fetch failed 的问题。我已经编辑了答案,以说明 go get -v golang.org/x/crypto/blowfish 应该是什么样子的。 - VonC

0

尝试代理

export GO111MODULE=on
export GOPROXY=https://goproxy.cn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接