go引入自建包名報錯:package?XXX?is?not?in?std解決辦法
在寫一個測試引入包名的測試案列中出現(xiàn)了下面的錯誤
D:\goworkspace\src\go_code\project_01\main>go run main.go
main.go:5:2: package go_code/project_01/calutils is not in std (G:\go_env\src\go_code\project_01\calutils)
main.go:6:2: package go_code/project_01/dbutils is not in std (G:\go_env\src\go_code\project_01\dbutils)
這個錯誤消息表明Go代碼嘗試導入一個位于項目目錄之外的包,并且Go無法找到這個包。首先看了我的包名對應的路徑是沒有問題的。
排除了路徑錯誤原因,接下來檢查配置環(huán)境變量
環(huán)境變量GOPATH的值即項目路徑下的根目錄,下面對應的是我的項目路徑
當我配置好了以后再次運行還是報上面的錯誤。這時候就要查看go的環(huán)境變量了,輸入下面命令進行查看
D:\goworkspace\src\go_code\project_01\main>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\wxq\AppData\Local\go-build
set GOENV=C:\Users\wxq\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\goworkspace\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\goworkspace
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=G:\go_env
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=G:\go_env\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.21.3
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=D:\goworkspace\src\go_code\project_01\main\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\wxq\AppData\Local\Temp\go-build2653196118=/tmp/go-build -gno-record-gcc-switches
根據(jù)配置信息,問題出在Go Modules的開啟或關(guān)閉上。
- 當你運行
go env -w GO111MODULE=
時,它將清除GO111MODULE
環(huán)境變量的設置,將其重置為空字符串。這將導致Go工具認為你的項目不使用Go Modules,因此它會嘗試在GOPATH中查找包,但無法找到你的項目中的非標準庫包。 - 當你運行
go env -w GO111MODULE=off
時,它將顯式地將GO111MODULE
設置為 "off",這意味著你禁用了Go Modules,并且Go工具會嘗試在GOPATH中查找包。
修改 GO111MODULE
go env -w GO111MODULE=off
這個時候一個包下的文件引入其他包名路徑找不到的問題就解決了!
D:\goworkspace\src\go_code\project_01\main>go run main.go 測試 cal 函數(shù)執(zhí)行了! 函數(shù)GetConnect執(zhí)行了!
總結(jié)
到此這篇關(guān)于go引入自建包名報錯:package XXX is not in std解決的文章就介紹到這了,更多相關(guān)go package XXX is not in std內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- go語言import報錯處理圖文詳解
- Go語言將string解析為time.Time時兩種常見報錯
- 解決MySQL報錯:The last packet sent successfully to the server was 0 milliseconds ago.
- go?mod?tidy報錯解決方法詳解
- goland安裝1.7版本報錯Unpacked?SDK?is?corrupted解決
- Django-Xadmin后臺首頁添加小組件報錯的解決方案
- Django報錯TemplateDoesNotExist的問題及解決
- 在 SHELL 腳本中調(diào)用另一個 SHELL 腳本的方法(報錯: go:not found)
- 解決MongoDB?位置查詢報錯planner?returned?error:?unable?to?find?index?for?$geoNear?query的問題
- django報錯設置auth User的解決
- 解決Oracle?DISTINCT?報錯?inconsistent?datatypes:?expected?-?got?CLOB(數(shù)據(jù)類型不一致:?應為?-,?但卻獲得?CLOB)的問題
- Java中報錯org.springframework.jdbc.UncategorizedSQLException的多種解決方法
- 執(zhí)行g(shù)o?build報錯go:?go.mod?file?not?found?in?current?directory?or?any?parent?directory
- Go導入不同目錄下包報錯的解決方法
- 解決MongoDB6.0報錯:"mongo"不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件
- maven報錯:Failed to execute goal on project問題及解決
- Mongodb啟動報錯完美解決方案:about to fork child process,waiting until server is ready for connections.
- golang中package?is?not?in?GOROOT報錯的真正解決辦法
- Go語言報錯:'godoc'?不是內(nèi)部或外部命令,也不是可運行的程序(godoc無法使用處理)解決方法
相關(guān)文章
golang?gorm的Callbacks事務回滾對象操作示例
這篇文章主要為大家介紹了golang?gorm的Callbacks事務回滾對象操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04golang API開發(fā)過程的中的自動重啟方式(基于gin框架)
這篇文章主要介紹了golang API開發(fā)過程的中的自動重啟方式(基于gin框架),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Go實現(xiàn)將任何網(wǎng)頁轉(zhuǎn)化為PDF
在許多應用場景中,可能需要將網(wǎng)頁內(nèi)容轉(zhuǎn)化為?PDF?格式,使用Go編程語言,結(jié)合一些現(xiàn)有的庫,可以非常方便地實現(xiàn)這一功能,下面我們就來看看具體實現(xiàn)方法吧2024-11-11Go語言同步與異步執(zhí)行多個任務封裝詳解(Runner和RunnerAsync)
這篇文章主要給大家介紹了關(guān)于Go語言同步與異步執(zhí)行多個任務封裝(Runner和RunnerAsync)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)
這是 2020 年第 3 個版本,也是最后一個版本,你還將發(fā)現(xiàn)許多新的代碼編輯功能,具體內(nèi)容詳情跟隨小編看看有哪些新特性2020-12-12Golang 基礎之函數(shù)使用(匿名遞歸閉包)實例詳解
這篇文章主要為大家介紹了Golang 基礎之函數(shù)使用(匿名遞歸閉包)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10Go中各種newreader和newbuffer的使用總結(jié)
這篇文章主要為大家詳細介紹了Go語言中各種newreader和newbuffer的使用的相關(guān)資料,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解下2023-11-11Golang?sync.Once實現(xiàn)單例模式的方法詳解
Go?語言的?sync?包提供了一系列同步原語,其中?sync.Once?就是其中之一。本文將深入探討?sync.Once?的實現(xiàn)原理和使用方法,幫助大家更好地理解和應用?sync.Once,需要的可以參考一下2023-05-05