`

go mod后的import注意事项 (could not import (no required module provides package)

阅读更多

首先我们有一个项目文件夹ProjectABC,这个项目文件夹通过go mod 命令初始化并具有go.mod文件,模块全名称为github.com/xxx/xxxxx。在这个文件夹下分partA,testPartA两个子文件夹。其中partA下所有.go文件的package为parta,举例如下:(parta.go)

package parta

func AFunInPartA(){

  fmt.Println("call AFunInPartA")

}

然后我们在testPartA文件夹下建立一个文件parta_test.go

内容为

package testparta

import (

   "testing"

   "parta"

)

func TestPartA(t * testing.T){

    parta.AFunInPartA()

    t.Log("OK")

}

这时候我们发现parta_test.go无法编译通过,报错为could not import parta (no required module provides “parta” 。那么怎么才能编译通过呢?

将import中的"parta"改为模块全路径方可,如下:

import (

   "testing"

   "github.com/xxx/xxxxx/parta"

)

 

分享到:
评论

相关推荐

    golang开启mod后import报红解决

    在Golang中,`go mod`是Go语言的模块系统,用于管理依赖关系。当遇到在启用`go mod`后导入包出现红色错误提示时,这通常意味着项目配置或模块初始化存在问题。以下是一些详细的步骤和知识点来解决这个问题: 1. **...

    golang整合mod(跨module引用)

    在Go语言中,模块(Module)是用于管理依赖关系和版本控制的一种机制。自Go 1.11版本起,官方引入了Go Modules特性,它允许开发者在不使用 GOPATH 的情况下进行项目开发,有效解决了依赖管理和构建的问题。标题中的...

    $GOPATH/go.mod exists but should not goland

    `GOPATH`是Go语言早期版本中的一个环境变量,用于存放用户下载的包、源代码以及构建后的可执行文件。然而,随着Go Modules的推出,项目依赖的管理变得更加独立,不再依赖全局的`GOPATH`。每个模块有自己的`go.mod`...

    go package、import、go.mod 理解 以及 私有包引入

    package、import、go.mod 1.package是Go中用于包声明语句的关键字。如果是命令源码文件的话必须是main,但如果不是的话可以随便取,但是最好最好最好是和目录名一致! 这样方便定位以及使用 关于package的最佳实践: ...

    vscode 报错之 Could not read source map for file... 解决方案

    vscode 报错之 Could not read source map for file... 解决方案

    golang开发环境篇(七) Go mod 使用1

    Go语言的包管理工具在Go 1.11版本中发生了重大变化,引入了Go Modules,这是一项旨在解决旧版Go中的包管理问题的重要更新。在此之前,开发者通常使用govendor和glide等第三方工具来管理依赖,但这些工具在处理如网络...

    csv.rar_Import modx_csv_import_modx

    标题"csv.rar_Import modx_csv_import_modx"暗示了这个压缩包可能包含了一个名为`modx_csv_import_modx`的模块或者脚本,目的是帮助用户将CSV数据导入到MODX系统中。在MODX中,这样的功能可以极大地提高内容创建和...

    golang package

    标题中的“golang package”指的是Go语言中的包(package),它是Go语言的基本组织单元。包允许程序员将相关的函数、类型、常量和变量组织在一起,以便于重用和模块化。在Go语言中,每个源文件都属于一个包,通过`...

    搞定go mod1

    在本文中,我们将深入理解如何使用 Go mod,解决在开启 mod 模式后 import 包报红的问题,以及如何导入本地其他项目的包。 首先,让我们了解如何使用 Go mod。在以下示例中,我们使用了 Iris 框架。为了下载 Iris,...

    python模块runpy.docx

    1. `run_module(mod_name, init_globals=None, run_name=None, alter_sys=False)` 这个函数用来运行指定的模块,并返回该模块的全局字典。`mod_name`参数是模块的名称,如字符串`'os'`。`init_globals`是一个可选的...

    Apache No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

    [Fri May 20 18:07:23 2011] [crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed [Fri May 20 18:08:22 2011] [crit] (28)No space left on device: mod_...

    Go1.13:使用go mod 管理依赖, 提示cannot find module providing package或cannot find main module

    编译go程序的时候报错: GOROOT=D:\go\GoSDK #gosetup GOPATH=D:\hc\workspace\fly\go\src\github.com\learngo;D:\hc\workspace\fly\go #gosetup D:\go\GoSDK\bin\go.exe build -o C:\Users\FLY\AppData\Local\Temp...

    [Golang] go mod及module path初级探究

    今天读了golang官方文档中的module...A module is a collection of Go packages stored in a file tree with a go.mod file at its root. The go.mod file defines the module’s module path, which is also the impor

    重启宝塔面板后提示-ModuleNotFoundError: No module named ‘geventwebsocket’

    背景: 因服务器部署了flask项目,安装了python3,故重启宝塔面板报错 ... mod = import_module(‘.’.join(components)) File “/root/anaconda3/lib/python3.7/importlib/__init__.py”, line 127, in import_modu

    Module1.mod

    Module1.mod

    discussion.zip Python关于import的实验(10) 利用__init__.py文件将变量和包下的模块作为包的属性

    在Python编程语言中,`import`语句是用于导入其他模块或包的关键字,以便重用代码或利用已有的功能。本实验主要探讨如何利用`__init__.py`文件将变量和包下的模块作为包的属性,从而创建自定义的Python包。下面将...

    深入Go Module.pdf

    Go Module是Go语言的一种版本管理和依赖包解决方案,它在Go 1.11版本中引入,旨在解决早期的GOPATH模式下对项目依赖管理的不便。Go Module的引入,使得Go项目的版本控制更加规范和高效。 Go版本管理历史经历了多个...

    重启宝塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket'

    在使用宝塔面板管理服务器时,遇到“ModuleNotFoundError: No module named 'geventwebsocket'”这一错误,通常意味着在尝试运行某个Python应用(如Flask项目)时,系统找不到名为`geventwebsocket`的模块。...

Global site tag (gtag.js) - Google Analytics