【问题标题】:Viper AddConfigPath only finding file in current folder "."Viper AddConfigPath 仅在当前文件夹“。”中查找文件。
【发布时间】:2020-12-24 06:34:44
【问题描述】:

有类似的代码

viper.AddConfigPath(".")
viper.AddConfigPath("$HOME/.config/myprogram")
viper.AddConfigPath("$HOME/configs")
viper.SetConfigFile("myprogram.yaml")

如果我将 myprogram.yaml 放在当前文件夹中,它就可以工作。但是,如果我尝试将它放在任何一个上

$HOME/.config/myprogram
$HOME/configs

找不到yaml文件。有什么想法或建议吗?

【问题讨论】:

    标签: go


    【解决方案1】:

    来自viper docs

    SetConfigFile 明确定义了路径、名称和扩展名 配置文件。 Viper 将使用它而不检查任何配置 路径。

    因此,如果您使用SetConfigFile,路径将被忽略。尝试(根据example):

    viper.SetConfigName("myprogram")
    viper.SetConfigType("yaml")
    viper.AddConfigPath(".")
    viper.AddConfigPath("$HOME/configs")
    viper.AddConfigPath("$HOME/.config/myprogram")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      相关资源
      最近更新 更多