当我尝试使用 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
关于该主题的更多帖子:
关于使用节流 ("gopkg.in/throttled/throttled.v2") 库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629475/