go build 移除路徑信息的實現(xiàn)步驟
用了一段時間的Golang之后,一直有個困惑,為什么報錯的時候提示是這樣的。
panic: 文件不存在 goroutine 1 [running]: main.findFile(...) /Users/Aries/Desktop/projec/main.go:4 main.main() /Users/Aries/Desktop/projec/main.go:8 +0x3a exit status 2
作為一名開發(fā)人員,總感覺不是那么安全和嚴謹。報錯信息里包含了你編譯時候項目的所在路徑,總感覺曝光了自己一樣。
于是搜索網(wǎng)上怎么去除路徑,找到了一個解決方法。 修改后的編譯腳本如下:
CGO_ENABLED=0 go build -v -a -ldflags '-s -w' \ -gcflags=-trimpath=$(PWD) \ -asmflags=-trimpath=$(PWD) \ -o ./main main.go
panic: 文件不存在
goroutine 1 [running]:
main.findFile(...)
main.go:4
main.main()
main.go:8 +0x3a
你會想應該去掉了路徑吧。我也是這樣想的??梢粫笥謭箦e了,再次報錯的信息如下:
panic: No Such File goroutine 1 [running]: github.com/clllab/mov/utils.FindEnv(...) /Users/Darcy/Desktop/projec/utils/utils.go:7 main.main() main.go:14 +0x4e
發(fā)現(xiàn)了吧,雖然main package里面沒有了報錯信息,可其他的package的panic 同樣還是有包含路徑信息。于是繼續(xù)搜索。
然后找到了這篇文章: stackoverflow
編譯腳本改成了這樣:
CGO_ENABLED=0 go build -v -a -ldflags '-s -w' \
-gcflags="all=-trimpath=${PWD}" \
-asmflags="all=-trimpath=${PWD}" \
-o ./main main.go
到此這篇關(guān)于go build 移除路徑信息的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)go build 移除路徑信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang?range?slice?與range?array?之間的區(qū)別
這篇文章主要介紹了Golang?range?slice?與range?array?之間的區(qū)別,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07
Go打印結(jié)構(gòu)體提升代碼調(diào)試效率實例詳解
這篇文章主要介紹了Go打印結(jié)構(gòu)體提升代碼調(diào)試效率實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-02-02

