当前位置:网站首页>go踩坑——no required module provides package : go.mod file not found in current directory or any parent
go踩坑——no required module provides package : go.mod file not found in current directory or any parent
2022-07-04 23:28:00 【小明的筆記倉庫】
背景
准備運行下面代碼
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
// 創建一個默認的路由引擎
r := gin.Default()
// GET:請求方式;/hello:請求的路徑
// 當客戶端以GET方法請求/hello路徑時,會執行後面的匿名函數
r.GET("/hello", func(c *gin.Context) {
// c.JSON:返回JSON格式的數據
c.JSON(200, gin.H{
"message": "Hello world!",
})
})
// 啟動HTTP服務,默認在0.0.0.0:8080啟動服務
r.Run()
}
結果報錯:
no required module provides package : go.mod file not found in current directory or any parent directory;
也就是說找不到導入模塊的包
嘗試1:
go get -u github.com/gin-gonic/gin
沒有效果
嘗試2:關於golang第三方包的引用報錯:no required module provides package_編程哲學家的博客-CSDN博客
網上基本都是這個解决方案:執行:go env -w GO111MODULE=auto
但是我的已經打開了,所以排除這個解决方案。
嘗試3:我又重新建了個項目,發現另一個運行時報錯結果是:
1.go:4:2: no required module provides package github.com/gin-gonic/gin; to add it:
go get github.com/gin-gonic/gin
注意這兩個報錯的區別,這個提示了 go get github.com/gin-gonic/gin
說明原項目是缺少東西的,我對比了一下發現原項目代碼所在的文件夾中缺少go.mod這個文件
通過研究Go go.mod詳解_絳洞花主敏明的博客-CSDN博客_go.mod文件
得到了解决方案
解决方法
在報錯的代碼文件夾打開終端,運行
go mod init 新模塊名字
就可以初始化go.mod,這樣再運行
go get -u github.com/gin-gonic/gin
就OK了
總結
- Go.mod是Golang1.11版本新引入的官方包管理工具用於解决之前沒有地方記錄依賴包具體版本的問題,方便依賴包的管理。
- Go.mod其實就是一個Modules,關於Modules的官方定義為:Modules是相關Go包的集合,是源代碼交換和版本控制的單元。go命令直接支持使用Modules,包括記錄和解析對其他模塊的依賴性。Modules替換舊的基於GOPATH的方法,來指定使用哪些源文件。
- Modules和傳統的GOPATH不同,不需要包含例如src,bin這樣的子目錄,一個源代碼目錄甚至是空目錄都可以作為Modules,只要其中包含有go.mod文件。
边栏推荐
- 推荐收藏:跨云数据仓库(data warehouse)环境搭建,这货特别干!
- A complete tutorial for getting started with redis: understanding and using APIs
- Observable time series data downsampling practice in Prometheus
- JS card style countdown days
- MariaDB's Galera cluster application scenario -- multi master and multi active databases
- A complete tutorial for getting started with redis: redis usage scenarios
- cout/cerr/clog的区别
- 【二叉树】节点与其祖先之间的最大差值
- Redis introduction complete tutorial: Collection details
- Redis:Redis的事务
猜你喜欢
QT addition calculator (simple case)
Galera cluster of MariaDB - dual active and dual active installation settings
How long does it take to obtain a PMP certificate?
The input of uniapp is invalid except for numbers
ECCV 2022 | 腾讯优图提出DisCo:拯救小模型在自监督学习中的效果
Docker镜像的缓存特性和Dockerfile
Mit-6.824-lab4b-2022 (10000 word idea explanation - code construction)
MariaDB's Galera cluster application scenario -- multi master and multi active databases
[sword finger offer] questions 1-5
Editplus-- usage -- shortcut key / configuration / background color / font size
随机推荐
ETCD数据库源码分析——处理Entry记录简要流程
The initial trial is the cross device model upgrade version of Ruijie switch (taking rg-s2952g-e as an example)
LabVIEW中比较两个VI
Solve the problem that the virtual machine cannot be remotely connected through SSH service
Paddleocr tutorial
OSEK standard ISO_ 17356 summary introduction
Redis: redis transactions
Etcd database source code analysis - brief process of processing entry records
Observable time series data downsampling practice in Prometheus
Selected cutting-edge technical articles of Bi Ren Academy of science and technology
Recommended collection: build a cross cloud data warehouse environment, which is particularly dry!
ECCV 2022 | Tencent Youtu proposed disco: the effect of saving small models in self supervised learning
[graph theory] topological sorting
高通WLAN框架学习(30)-- 支持双STA的组件
ECCV 2022 | 腾讯优图提出DisCo:拯救小模型在自监督学习中的效果
Qualcomm WLAN framework learning (30) -- components supporting dual sta
S32 Design Studio for ARM 2.2 快速入门
高配笔记本使用CAD搬砖时卡死解决记录
After Microsoft disables the IE browser, open the IE browser to flash back the solution
如何报考PMP项目管理认证考试?