亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在使用 gopkg.in/ini.v1 進行測試和調試期間無法加載我的 iniFile

在使用 gopkg.in/ini.v1 進行測試和調試期間無法加載我的 iniFile

Go
小怪獸愛吃肉 2022-07-25 11:18:03
這是我的 Go 項目。.├── cmd│   └── main│       └── main.go├── config│   └── config.go│├── config.ini通常它是可執行的 go run 和 go build。但在測試和調試期間無法執行。(去測試 ./cmd/main 和 vscode 調試),錯誤如下config.ini: no such file or directory 我嘗試將路徑更改為 ../../config.ini。它工作正常,但是無法執行 go run 和 build。如何在所有環境中設置可執行文件的路徑?配置/config.gopackage configimport (    "log"    "os"    "gopkg.in/ini.v1")type ConfigList struct {    FgiAPIKey  string    FgiAPIHost string    Port       int    JwtAccess  string    JwtRefresh string}var Config ConfigListfunc init() {    cfg, err := ini.Load("config.ini")    if err != nil {        log.Printf("Failed to read file: %v", err)        os.Exit(1)    }    Config = ConfigList{        FgiAPIKey:  cfg.Section("fgi").Key("api_key").String(),        FgiAPIHost: cfg.Section("fgi").Key("api_host").String(),        Port:       cfg.Section("web").Key("port").MustInt(),        JwtAccess:  cfg.Section("secret").Key("jwt_access").String(),        JwtRefresh: cfg.Section("secret").Key("jwt_refresh").String(),    }}
查看完整描述

1 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

問題是您使用的不同工具在不同的地方(或從不同的地方運行二進制文件)生成二進制文件。代碼中的路徑config.ini指定為相對于進程的當前工作目錄。如果您想要非侵入式解決方案,您需要更改您的工作流程(在其中構建和運行主二進制文件、調試器或進行測試),或者您可以實現一些回退機制或環境變量,以覆蓋配置文件的默認路徑。

在 VSCode 中,配置中應該有允許您設置工作目錄的cwd變量。launch.json您應該能夠設置cwd: "${workspaceFolder}"并且應該像從存儲庫的根目錄運行命令一樣工作。

有關變量參考,請參閱https://code.visualstudio.com/docs/editor/variables-reference。


查看完整回答
反對 回復 2022-07-25
  • 1 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號