猿问

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

我有一个外部项目$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/amd64


package main


import (

    "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


繁星点点滴滴
浏览 139回答 1
1回答

鸿蒙传说

根据最近提供实际包名称的编辑,听起来您需要使用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)。
随时随地看视频慕课网APP

相关分类

Go
我要回答