为了账号安全,请及时绑定邮箱和手机立即绑定

Go模块:“找不到提供包的模块”导入依赖项的子包

Go模块:“找不到提供包的模块”导入依赖项的子包

Go
繁星点点滴滴 2023-07-10 16:31:57
我有一个外部项目$GOPATH,我想使用go mod. 但是,当我从项目中复制代码$GOPATH并运行时$ GO111MODULE=on go mod init github.com/jgoc/modtest$ GO111MODULE=on go run main.go我收到一个错误。go version go1.12.5 windows/amd64package mainimport (    "github.com/hajimehoshi/ebiten"    "github.com/hajimehoshi/ebiten/vector")build command-line-arguments: cannot load github.com/hajimehoshi/ebiten/vector: cannot find module providing package github.com/hajimehoshi/ebiten/vector示例: https: //github.com/jgoc/modtest
查看完整描述

1 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

根据最近提供实际包名称的编辑,听起来您需要使用github.com/hajimehoshi/ebiten具有vector包的依赖项版本。

@master版本确实有一个vector包。@v1.10.0-alpha没有vector包裹。也许从开始@master,至少看看你是否可以编译?

这对我有用:

go get -d github.com/hajimehoshi/ebiten/vector@master


另外,您的模块的实际名称是什么?您用来导入该模块中的代码的实际导入路径是什么?

你写了:

go mod init Desktop/modtest

通常,模块的名称(也称为“模块路径”)应以主机名(例如 github.com)开头,并且最常见的是存储库,例如:

go mod init github.com/my/repo.

.go然后,您可以使用以传递给的完整模块路径开头的导入路径在代码中导入包go mod init,例如:

import "github.com/my/repo/pkg1".

使用您的示例,它将是:

go mod init github.com/<author>/<package>

进口将是:

import (
    "github.com/<author>/<package>"
    "github.com/<author>/<package>/<sub-package>"
    )

如果您的模块路径与导入路径不一致,您可能会收到与所看到的类似的错误。(您的“模块路径”是您作为参数传递给 的内容go mod init,然后您可以在文件module中的行中看到它go.mod)。


查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信