【问题标题】:no matching versions for query "latest" with a local package没有与本地包的查询“最新”匹配的版本
【发布时间】:2020-10-21 07:44:59
【问题描述】:
go version go1.15.2 darwin/amd64

在我的文件夹中,我有两个文件:main.gouser.go 以及其他文件,例如 go.modgo.sum 等。

当尝试从 user.go 导入包时,我在导入时遇到错误:

查询“最新”没有匹配的版本

user.go

package user

import (
    "os"
    "os/user"
    "path/filepath"
)

main.go

import (
    "fmt"
    "bufio"
    "github.com/ctfrancia/go-dot/user" // <--- error here
    // ...
)

我尝试遵循一些建议,例如 go clean -modcache as suggested in a git hub issue

我正在使用 gomods,所以我不想禁用它。谢谢

【问题讨论】:

  • 正确设置包含所有这些包的模块。
  • 你能扩展一下吗?

标签: go


【解决方案1】:

所以我的错误是目录中的文件夹是包名......最佳实践:

所以:goApplication/pkg/hello 所有后续的.go 文件都应该在顶部有package hello

【讨论】:

    【解决方案2】:

    您的文件 user.gomain.go 位于同一目录中,在 golang 中,如果您想使用自定义包,您必须使用 same name 创建目录作为您的 package name 在您的情况下是您的目录结构会是这样的:

    goApplication/rootDir
    - main.go
    - user
    -- user.go
    

    注意:您也可以使用pkg/user 目录,但对于小型项目不是强制性的,社区对此布局结构有正面和负面的评论。

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 2020-06-09
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多