为了账号安全,请及时绑定邮箱和手机立即绑定

读取配置文件时出错。Golang 使用 viper 包

读取配置文件时出错。Golang 使用 viper 包

Go
紫衣仙女 2022-11-28 16:54:08
请在读取 env.json 文件时需要帮助。任何时候我运行我的代码我总是得到这个错误Error reading config file, Config File "env" Not Found in "[/Users/franklynomonade/go/src/bitbucket.org/core_backend/cmd/server/bitbucket.org/core_backend/pkg/app/config]""/Users/franklynomonade/go/src/bitbucket.org/core_backend/cmd/server"是我的main.go文件所在"bitbucket.org/core_backend/pkg/app/config"的路径,而是env.json文件所在的路径。我相信应该读取 env.json 文件的路径是"bitbucket.org/core_backend/pkg/app/config"而不是"/Users/franklynomonade/go/src/bitbucket.org/core_backend/cmd/server/bitbucket.org/core_backend/pkg/app/config"我正在使用github.com/spf13/viper包来读取 env.json 文件。func LoadConfig() {    viper.AddConfigPath(myPath)    viper.SetConfigName("env")    viper.SetConfigType("json")    // searches for config file in given paths and read it    if err := viper.ReadInConfig(); err != nil {        log.Fatalf("error reading config file: %s", err)    }    // confirm which config file is used    log.Printf("Using s: %s\n", viper.ConfigFileUsed()}关于如何解决这个问题的任何想法?
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您可以使用相对路径或绝对路径,通常,最好使用相对路径,因为您不需要在项目外部指定路径。


使用相对路径时,它会搜索相对于执行二进制文件的文件夹的路径。


假设这是树:


├── core_backend

│   ├── cmd

│   └── pkg

│       ├── api 

│       └── app

│            └── config

│                  └── env.json

假设您在core_backend目录中运行程序,您会将变量myPath设置为此值


"pkg/app/config"


查看完整回答
反对 回复 2022-11-28
  • 1 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信