使用受限制("gopkg.in/throttled/throttled.v2")库时出错



当我尝试使用go get命令进行安装时:

go get "github.com/throttled/throttled"

我得到错误:

can't load package: package github.com/throttled/throttled: code in directory /Users/litanhua/GoglandProjects/cloudstorage/src/github.com/throttled/throttled expects import "gopkg.in/throttled/throttled.v2"

您看到的是GO 1.4中引入的规范导入路径。

语法是软件包声明中的行注释,例如:

package pdf // import "rsc.io/pdf"

如果指定了规范导入路径,则只允许您使用其规范导入路径导入和get软件包,这可能与托管服务URL(例如您的情况(不同。

您参考的软件包使用规范导入路径,请参阅github.com/throttled/throttled/doc.go:

// Package throttled implements rate limiting access to resources such
// as HTTP endpoints.
package throttled // import "gopkg.in/throttled/throttled.v2"

典型导入路径由GO工具强制执行。删除表示规范导入路径的评论是解决问题的一种非常糟糕的方式。

只需遵循规范导入路径:

go get gopkg.in/throttled/throttled.v2

当然可以使用/参考规范导入路径的包装,例如

import "gopkg.in/throttled/throttled.v2"

这也在油门的主页,安装部分中注明:

节流使用gopkg.in进行语义版本:go get gopkg.in/throttled/throttled.v2

有关该主题的更多文章:

GO 1.4自定义导入路径检查 - 设计文档

Golang中的规范导入路径

最新更新