使用节流 ("gopkg.in/throttled/throttled.v2") 库时出错

标签 go

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

go get "github.com/throttled/throttled"

我得到错误:

无法加载包:包 github.com/throttled/throttled:目录/Users/litanhua/GoglandProjects/cloudstorage/src/github.com/throttled/throttled 中的代码需要导入“gopkg.in/throttled/throttled.v2"

最佳答案

你看到的是一个Canonical import path introduced in Go 1.4 .

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

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

如果指定了规范导入路径,您只能使用其规范导入路径导入和获取包,这可能与托管服务 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"

Throttled 的主页上也注明了这一点,Installation section :

throttled uses gopkg.in for semantic versioning: go get gopkg.in/throttled/throttled.v2

关于该主题的更多帖子:

Go 1.4 Custom Import Path Checking - Design document

Canonical import paths in Golang

关于使用节流 ("gopkg.in/throttled/throttled.v2") 库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629475/

相关文章:

eclipse - 如何安装基于 golang 的所有内部文件夹的网络应用程序

go - 对于给定的接口(interface),我有三个实现。三个实现如何共享相同的方法?

mongodb - 如何将 json 字符串编码到 bson 文档以写入 MongoDB?

go - 如何使用 Go 客户端 API 在 kubernetes 中创建和使用卷?

mongodb - Golang mgo 获取空对象

loops - 是否应该在阻止来自 channel 的for-select循环时将请求对象传递给goroutine?

python - 运行Go异步操作并写入map

go - 去哪里获取安装包?

正则表达式不匹配字符串中的双引号(只是单引号)

go - 为什么 map 遍历是顺序的?