go引入自建包名報(bào)錯(cuò):package?XXX?is?not?in?std解決辦法
在寫一個(gè)測(cè)試引入包名的測(cè)試案列中出現(xiàn)了下面的錯(cuò)誤
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)
這個(gè)錯(cuò)誤消息表明Go代碼嘗試導(dǎo)入一個(gè)位于項(xiàng)目目錄之外的包,并且Go無法找到這個(gè)包。首先看了我的包名對(duì)應(yīng)的路徑是沒有問題的。

排除了路徑錯(cuò)誤原因,接下來檢查配置環(huán)境變量

環(huán)境變量GOPATH的值即項(xiàng)目路徑下的根目錄,下面對(duì)應(yīng)的是我的項(xiàng)目路徑

當(dāng)我配置好了以后再次運(yùn)行還是報(bào)上面的錯(cuò)誤。這時(shí)候就要查看go的環(huán)境變量了,輸入下面命令進(jì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)閉上。
- 當(dāng)你運(yùn)行
go env -w GO111MODULE=時(shí),它將清除GO111MODULE環(huán)境變量的設(shè)置,將其重置為空字符串。這將導(dǎo)致Go工具認(rèn)為你的項(xiàng)目不使用Go Modules,因此它會(huì)嘗試在GOPATH中查找包,但無法找到你的項(xiàng)目中的非標(biāo)準(zhǔn)庫(kù)包。 - 當(dāng)你運(yùn)行
go env -w GO111MODULE=off時(shí),它將顯式地將GO111MODULE設(shè)置為 "off",這意味著你禁用了Go Modules,并且Go工具會(huì)嘗試在GOPATH中查找包。
修改 GO111MODULE
go env -w GO111MODULE=off
這個(gè)時(shí)候一個(gè)包下的文件引入其他包名路徑找不到的問題就解決了!
D:\goworkspace\src\go_code\project_01\main>go run main.go 測(cè)試 cal 函數(shù)執(zhí)行了! 函數(shù)GetConnect執(zhí)行了!
總結(jié)
到此這篇關(guān)于go引入自建包名報(bào)錯(cuò):package XXX is not in std解決的文章就介紹到這了,更多相關(guān)go package XXX is not in std內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- go語(yǔ)言import報(bào)錯(cuò)處理圖文詳解
- Go語(yǔ)言將string解析為time.Time時(shí)兩種常見報(bào)錯(cuò)
- 解決MySQL報(bào)錯(cuò):The last packet sent successfully to the server was 0 milliseconds ago.
- go?mod?tidy報(bào)錯(cuò)解決方法詳解
- goland安裝1.7版本報(bào)錯(cuò)Unpacked?SDK?is?corrupted解決
- Django-Xadmin后臺(tái)首頁(yè)添加小組件報(bào)錯(cuò)的解決方案
- Django報(bào)錯(cuò)TemplateDoesNotExist的問題及解決
- 在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本的方法(報(bào)錯(cuò): go:not found)
- 解決MongoDB?位置查詢報(bào)錯(cuò)planner?returned?error:?unable?to?find?index?for?$geoNear?query的問題
- django報(bào)錯(cuò)設(shè)置auth User的解決
- 解決Oracle?DISTINCT?報(bào)錯(cuò)?inconsistent?datatypes:?expected?-?got?CLOB(數(shù)據(jù)類型不一致:?應(yīng)為?-,?但卻獲得?CLOB)的問題
- Java中報(bào)錯(cuò)org.springframework.jdbc.UncategorizedSQLException的多種解決方法
- 執(zhí)行g(shù)o?build報(bào)錯(cuò)go:?go.mod?file?not?found?in?current?directory?or?any?parent?directory
- Go導(dǎo)入不同目錄下包報(bào)錯(cuò)的解決方法
- 解決MongoDB6.0報(bào)錯(cuò):"mongo"不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件
- maven報(bào)錯(cuò):Failed to execute goal on project問題及解決
- Mongodb啟動(dòng)報(bào)錯(cuò)完美解決方案:about to fork child process,waiting until server is ready for connections.
- golang中package?is?not?in?GOROOT報(bào)錯(cuò)的真正解決辦法
- Go語(yǔ)言報(bào)錯(cuò):'godoc'?不是內(nèi)部或外部命令,也不是可運(yùn)行的程序(godoc無法使用處理)解決方法
相關(guān)文章
golang實(shí)現(xiàn)nacos獲取配置和服務(wù)注冊(cè)-支持集群詳解
文章介紹了如何在Go語(yǔ)言中使用Nacos獲取配置和服務(wù)注冊(cè),支持集群初始化,客戶端結(jié)構(gòu)體中的IpAddresses可以配置多個(gè)地址,新客戶端支持集群配置,文章還討論了如何將Nacos獲取到的配置與項(xiàng)目中的Viper無縫對(duì)接,以便進(jìn)行Viper的正常操作2025-11-11
golang struct, map, json之間的相互轉(zhuǎn)換
本文用于記錄我在 golang 學(xué)習(xí)階段遇到的類型轉(zhuǎn)換問題,針對(duì)的是 json 、map、struct 之間相互轉(zhuǎn)換的問題,感興趣的可以了解一下2021-06-06
golang之?dāng)?shù)據(jù)校驗(yàn)的實(shí)現(xiàn)代碼示例
這篇文章主要介紹了golang之?dāng)?shù)據(jù)校檢的實(shí)現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
初學(xué)Go必備的vscode插件及最常用快捷鍵和代碼自動(dòng)補(bǔ)全
這篇文章主要給大家介紹了關(guān)于初學(xué)vscode寫Go必備的vscode插件及最常用快捷鍵和代碼自動(dòng)補(bǔ)全的相關(guān)資料,由于vscode是開源免費(fèi)的,而且開發(fā)支持vscode的插件相對(duì)比較容易,更新速度也很快,需要的朋友可以參考下2023-07-07
Go語(yǔ)言結(jié)合gorm實(shí)現(xiàn)讀取PostgreSQL的json數(shù)據(jù)類型
使用gorm讀取PostgreSQL中json/jsonb類型數(shù)據(jù)是一個(gè)常見的操作,本文介紹幾種方法,適用于幾類不同的場(chǎng)景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-10-10
Go?函數(shù)中獲取調(diào)用者的函數(shù)名和文件名及行號(hào)
這篇文章主要介紹了Go?函數(shù)中獲取調(diào)用者的函數(shù)名和文件名及行號(hào),文章圍主題詳細(xì)內(nèi)容展開相關(guān)介紹,感興趣的小伙伴可以參考一下2022-05-05
golang中http請(qǐng)求的context傳遞到異步任務(wù)的坑及解決
這篇文章主要介紹了golang中http請(qǐng)求的context傳遞到異步任務(wù)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

