本文目錄一覽:
- 1、常見問題之Golang—— no required module provides package XXXXX
- 2、golang 二進制包提示 No such file or directory
- 3、go安裝器提示沒有可修復組件
- 4、求助,安裝golang環境後運行報錯
- 5、go主題彈出的廣告怎麼屏蔽
常見問題之Golang—— no required module provides package XXXXX
日常我們開發時,會遇到各種各樣的奇奇怪怪的問題(踩坑o(╯□╰)o),這個常見問題系列就是我日常遇到的一些問題的記錄文章系列,這裡整理匯總後分享給大家,讓其還在深坑中的小夥伴有繩索能爬出來。
同時在這裡也歡迎大家把自己遇到的問題留言或私信給我,我看看其能否給大家解決。
no required module provides package XXXXX
在使用包時沒有找到具體的包
1、檢查當前包是否有效引入了或該組件包是否與實際包名稱一致。
2、存在沒有開啟模塊化的問題,golang1.16以後都是默認開啟的,GO111MODULE=on
3、如果該錯誤後面還有其他的提示,就需要根據其他提示進行有針對性的處理了。
golang 二進制包提示 No such file or directory
由於我們的 Dockerfile 使用多階段構建,
由於 alpine 鏡像非常小,只有 5 mb 左右,但是由於客戶那邊強制要使用紅帽的基礎鏡像,所以在第二階段修改成紅帽的鏡像,最終打成的鏡像運行的時候會提示 No such file or directory 。
這個問題的原因在於第一階段構建的環境和第二階段的運行的環境不一致,很多時候以為都是 Linux 環境,怎麼可能不一致呢,但是由於 Linux 的各個發行版都有自己定製化的部分,就譬如 alpine 分支,他的 C 語言動態鏈接庫使用的是 musl,而像 centos 用的都是 glibc,他們都是 c 語言的標準庫,用來調用操作系統的庫。
上面說的是一方面原因,但是不是這個問題的最具體的原因。
go build 打包出來的二進制文件還寫一個非常重要的信息 interpreter 。
我將二進制文件從容器內 copy 出來通過 file 查看
可以看到二進制的文件上有些一個解釋器的地址,這個文件地址是寫死在二進制文件上的,後面我啟動一個 centos 容器。
果然報了同樣的一個錯誤。
Linux 如何啟動一個二進制文件可以參考一下參考文檔,就是通過這個解釋器出發將程序調入內存。
go安裝器提示沒有可修復組件
出現這種情況原因是在VSCode中安裝Golang.go插件時,總提示部分組件安裝失敗,例如outline,gopls。單獨在命令行安裝時同樣失敗。可以如下操作,系統屬性、環境變量、當前用戶的環境變量(或系統環境變量),查找並刪除HTTPS_PROXY。重啟命令行Terminal使環境變量修改生效,或者刷新VSCode的環境變量後,重新安裝Golang.go組件。
求助,安裝golang環境後運行報錯
下載WebStorm 10
安裝WebStorm
Windows請參考Win版的安裝方式
下載Golang Plugin(最新版本是201)
為WebStorm安裝Go Plugin
啟動WebStorm(如果你更改了一些默認配置會提示重啟)
安裝下載好的Golang Plugin
Configure – Plugins
從本地磁盤選擇下載好的Go Plugin,安裝後重啟WebStorm
創建一個Golang項目
選擇Empty Project,選擇好Golang項目的文件目錄,點擊Create
創建一個Go文件main.go
設置Golang SDK,並在main.go里編寫你的Golang代碼
配置Golang運行環境
點擊右上角的向下三角形按鈕,在彈出窗口點擊加號新增一個Go Application
在File項選擇我們剛才的main.go文件(請注意提示,記得把文件的包名改為main才可以運行)
點擊右上角的綠色三角形運行
到此配置完畢,enjoy coding!
go主題彈出的廣告怎麼屏蔽
你安裝的是經過第三方修改的版本吧?官方原版的是不帶廣告的,建議去比較正規的應用平台下載,例如應用寶、豌豆莢、木螞蟻等等正規的app平台。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150567.html