登录
首页 >  Golang >  Go问答

golang找不到本地路径的模块

来源:stackoverflow

时间:2024-04-29 10:27:36 328浏览 收藏

一分耕耘,一分收获!既然都打开这篇《golang找不到本地路径的模块》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我想将一些 api 从主包推出到单独的包中:

myapp/
    main.go
    myapi/
        myapi.go

main.go 里面我有

package main

import "./myapi"

...

myapi.go 开头为:

package myapi

...

当我尝试运行 main 时,似乎找不到我的 myapi #include。它给了我以下错误:

D:\go\myapp> go run .
build _/D_/go/myapp/myapi: cannot find module for path _/D_/go/myapp/myapi

我来自c/c++世界,如何从golang的子文件夹中包含它是非常不明显的。你能帮我解决这个问题吗?


解决方案


Go 使用称为模块路径的东西。这些是标识您的包的路径。它们不一定与文件系统相关。

模块路径的示例是 github.com/hajimehoshi/ebiten

如果您使用 Go 模块,这也是 Go 自动下载模块的路径。

如果您使用 $GOPATH,模块源的路径将为 go/src/github.com/hajimehoshi/ebiten

使用 go mod init <module path> 使用新的模块路径初始化模块。一般来说,这将是您的 GitHub 存储库,没有 https://。这将允许您和其他人的代码能够使用该模块路径进行访问。然后应该可以通过 import "github.com/username/repo/myapi" 访问 myapi

如果您仍然希望使用旧的 $GOPATH 方法,只需将代码放入 go/src/<module 路径 > 中即可。访问myapi的方法是等价的。

阅读 Using Go ModulesHow to write Go code 了解更多信息。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>