当前位置:网站首页>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文件。
边栏推荐
猜你喜欢
随机推荐
HMS core machine learning service
colResizable. JS auto adjust table width plug-in
MariaDB的Galera集群-双主双活安装设置
QT addition calculator (simple case)
快解析内网穿透帮助企业快速实现协同办公
Redis getting started complete tutorial: Key Management
Application of machine learning in housing price prediction
The solution to the lack of pcntl extension under MAMP, fatal error: call to undefined function pcntl_ signal()
ScriptableObject
Redis introduction complete tutorial: Collection details
【taichi】用最少的修改将太极的pbf2d(基于位置的流体模拟)改为pbf3d
一次edu证书站的挖掘
PS style JS webpage graffiti board plug-in
JS 3D explosive fragment image switching JS special effect
Meet ThreadPoolExecutor
Qt加法计算器(简单案例)
Stm32 Reverse Introduction to CTF Competition Interpretation
Excel 快捷键-随时补充
Excel shortcut keys - always add
壁仞科技研究院前沿技术文章精选