golang下的GOPATH路徑問題

2021-08-19 11:20:43 字數 809 閱讀 7395

為了方便,我一般使用task來管理專案的編譯等事項,由於才入門go,所以碰到乙個問題,以此篇為記。

我需要開發乙個組建,所以**結構沒有src目錄,並且專案放在gopath路徑的src目錄下

我在編譯二進位制檔案的時候使用了下面的命令gopath=`pwd` gobin=`pwd` go install main.go

編譯報錯,提示import的類庫找不到

檢查env是否正確 命令:go env,檢查結果正常

檢查golang的gopath和goroot配置是否正常,檢查通過

分析編譯命令找到問題

我在編譯的時候重新定義了gopath路徑。在go語言編譯的時候,它會去找gopath和goroot下面的src目錄。

現在goroot=~/gopath/,那麼首先編譯器到goroot下找import的包,如果沒有找到,則到gopath路徑下尋找

此時gopath=`pwd`,也就是專案路徑,那麼它會到專案路徑下的src目錄下尋找。由於我沒有src目錄,所以找不到,從而編譯報錯

問題其實出在gopath下,由於當前專案檔案已經處於gopath的src下,所以只需要刪除gopath即可。

正確編譯命令:gobin=`pwd` go install main.go

Golang 專案 GOPATH 總結

檢視gopath go env 專案裡引入依賴的時候會自動到gopath裡尋找依賴。gopath 會預設設定多個路徑 多到慘不忍睹 自己設定一到兩個路徑時,執行命令 vim bash profile export gopath usr local bin home go source bash pr...

fish shell 下gopath的設定問題

在fish shell下,使用 set x gopath path1 path2 path3 來設定,不能使用set x gopath path1 path2 path3,這一點確實很特殊。fish shell 下還有另外一種自動方法,利用fish shell的function 1 先用 set x...

ubuntu下GOROOT和GOPATH配置

更好的使用go,需要設定環境變數 sudo vim profile 在前面新增 export goroot usr lib go export gopath home gocode export path path gopath bin 原路徑後用冒號連線新路徑 如果要立刻生效,可以source e...