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ā)人員,總感覺不是那么安全和嚴(yán)謹(jǐn)。報錯信息里包含了你編譯時候項目的所在路徑,總感覺曝光了自己一樣。
于是搜索網(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
你會想應(yīng)該去掉了路徑吧。我也是這樣想的??梢粫笥謭箦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)文章
go select編譯期的優(yōu)化處理邏輯使用場景分析
select 是 Go 中的一個控制結(jié)構(gòu),類似于用于通信的 switch 語句。每個 case 必須是一個通信操作,要么是發(fā)送要么是接收。接下來通過本文給大家介紹go select編譯期的優(yōu)化處理邏輯使用場景分析,感興趣的朋友一起看看吧2021-06-06
PHP和GO對接ChatGPT實現(xiàn)聊天機器人效果實例
這篇文章主要為大家介紹了PHP和GO對接ChatGPT實現(xiàn)聊天機器人效果實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
go語言編程學(xué)習(xí)實現(xiàn)圖的廣度與深度優(yōu)先搜索
這篇文章主要為大家介紹了go語言編程學(xué)習(xí)實現(xiàn)圖的廣度與深度優(yōu)先搜索示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10

