golang下的GOPATH路徑問題及解決
背景
我需要開發(fā)一個組建,所以代碼結(jié)構(gòu)沒有src目錄,并且項目放在GOPATH路徑的src目錄下
我在編譯二進制文件的時候使用了下面的命令
GOPATH=`pwd` GOBIN=`pwd` go install main.go
編譯報錯,提示import的類庫找不到
排錯分析
- 檢查env是否正確 命令:
go env
,檢查結(jié)果正常 - 檢查golang的GOPATH和GOROOT配置是否正常,檢查通過
- 分析編譯命令找到問題
問題
我在編譯的時候重新定義了GOPATH路徑。
在go語言編譯的時候,它會去找GOPATH和GOROOT下面的src目錄。
現(xiàn)在GOROOT=~/gopath/
,那么首先編譯器到GOROOT
下找import的包,如果沒有找到,則到GOPATH路徑下尋找
此時GOPATH=`pwd`
,也就是項目路徑,那么它會到項目路徑下的src目錄下尋找。
由于我沒有src目錄,所以找不到,從而編譯報錯
解決
問題其實出在GOPATH下,由于當(dāng)前項目文件已經(jīng)處于GOPATH的src下,所以只需要刪除GOPATH即可。
正確編譯命令:
GOBIN=`pwd` go install main.go
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go語言實現(xiàn)字符串搜索算法Boyer-Moore
Boyer-Moore?算法是一種非常高效的字符串搜索算法,被廣泛的應(yīng)用于多種字符串搜索場景,下面我們就來學(xué)習(xí)一下如何利用Go語言實現(xiàn)這一字符串搜索算法吧2023-11-11在Linux系統(tǒng)中安裝Go語言的詳細(xì)教程
這篇文章主要介紹了在Linux系統(tǒng)中安裝Go語言的詳細(xì)教程,由于國內(nèi)很多人對谷歌的盲目追捧,導(dǎo)致Go語言在國內(nèi)的人氣遠(yuǎn)超國外...需要的朋友可以參考下2015-06-06