go build 移除路径信息的实现步骤

 更新时间:2025年11月14日 10:38:45   作者:iw3c.com  
本文主要介绍了go build 移除路径信息的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

用了一段时间的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

作为一名开发人员,总感觉不是那么安全和严谨。报错信息里包含了你编译时候项目的所在路径,总感觉曝光了自己一样。

于是搜索网上怎么去除路径,找到了一个解决方法。 修改后的编译脚本如下:

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

你会想应该去掉了路径吧。我也是这样想的。可一会之后又报错了,再次报错的信息如下:

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

发现了吧,虽然main package里面没有了报错信息,可其他的package的panic 同样还是有包含路径信息。于是继续搜索。

然后找到了这篇文章: stackoverflow

编译脚本改成了这样:

CGO_ENABLED=0 go build -v -a -ldflags '-s -w' \
   	-gcflags="all=-trimpath=${PWD}" \
   	-asmflags="all=-trimpath=${PWD}" \
   	-o ./main main.go

到此这篇关于go build 移除路径信息的实现步骤的文章就介绍到这了,更多相关go build 移除路径信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go设计模式之中介者模式讲解和代码示例

    Go设计模式之中介者模式讲解和代码示例

    中介者是一种行为设计模式,让程序组件通过特殊的中介者对象进行间接沟通,达到减少组件之间依赖关系的目的,因此本文就给大家详细介绍一下Go中介者模式,需要的朋友可以参考下
    2023-06-06
  • Go语言中的错误处理最佳实践详解

    Go语言中的错误处理最佳实践详解

    这篇文章主要为大家详细介绍了Go语言中的错误处理的相关知识,文中的示例代码讲解详细,对我们深入了解Go语言有一定的帮助,需要的可以参考下
    2023-08-08
  • 一文详解Golang中的基础语法

    一文详解Golang中的基础语法

    这篇文章主要为大家详细介绍了Golang中基础语法的相关知识,文中的示例代码讲解详细,对我们学习Golang有一定的帮助,感兴趣的可以了解一下
    2023-03-03
  • 浅谈Go切片的值修改是否会覆盖数组的值 

    浅谈Go切片的值修改是否会覆盖数组的值 

    本文主要介绍了浅谈Go切片的值修改是否会覆盖数组的值,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 
    2022-02-02
  • golang函数的返回值实现

    golang函数的返回值实现

    本文主要介绍了golang函数的返回值实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Golang range slice 与range array 之间的区别

    Golang range slice 与range array 之间的区别

    这篇文章主要介绍了Golang range slice 与range array 之间的区别,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 详解Go语言中的作用域和变量隐藏

    详解Go语言中的作用域和变量隐藏

    这篇文章主要为大家介绍了Go语言中的作用域和变量隐藏,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-04-04
  • Golang实现IO操作

    Golang实现IO操作

    本文主要介绍了Golang实现IO操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Go打印结构体提升代码调试效率实例详解

    Go打印结构体提升代码调试效率实例详解

    这篇文章主要介绍了Go打印结构体提升代码调试效率实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-02-02
  • 关于go get 下载第三方包存储路径问题

    关于go get 下载第三方包存储路径问题

    这篇文章主要介绍了关于go get 下载第三方包存储路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论