gin 编译路径错误_聊一聊,Golang相对路径问题

本文探讨了Golang中使用相对路径时遇到的问题,特别是在使用gin框架时,通过go run和go build命令导致的编译路径错误。文章分析了go run在临时目录下执行导致的文件找不到问题,并提供了获取可执行文件路径的方法(GetAppPath)作为解决方案之一。此外,还提到了通过设置全局系统变量、os.Getwd()以及go test的路径问题,并给出了相应的解决建议。
摘要由CSDN通过智能技术生成

前言

Golang 中存在各种运行方式,如何正确的引用文件路径成为一个值得商议的问题

以 go-gin-example 为例,当我们在项目根目录下,执行 go run main.go 时能够正常运行(go build也是正常的)

[$ gin-blog]# go run main.go

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.

- using env: export GIN_MODE=release

- using code: gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET /api/v1/tags --> gin-blog/routers/api/v1.GetTags (3 handlers)

...

那么在不同的目录层级下,不同的方式运行,又是怎么样的呢,带着我们的疑问去学习

问题

1、 go run

我们上移目录层级,到 $GOPATH/src 下,执行 go run gin-blog/main.go

[$ src]# go run gin-blog/main.go

2018/03/12 16:06:13 Fail to parse 'conf/app.ini': open conf/app.ini: no such file or directory

exit status 1

2、 go build,执行 ./gin-blog/main

[$ src]# ./gin-blog/main

2018/03/12 16:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值