這是一個(gè)我的圍棋項(xiàng)目。.├── cmd│ └── main│ └── main.go├── config│ └── config.go│├── config.ini通常它是可執(zhí)行的去運(yùn)行和去構(gòu)建。但在測試和調(diào)試期間無法執(zhí)行。(去測試./cmd/main和vscode debug),下面有錯(cuò)誤config.ini: no such file or directory 我嘗試將路徑更改為 ../../config.ini.它工作正常,但無法執(zhí)行g(shù)o run和build。如何在所有環(huán)境中設(shè)置可執(zhí)行文件的路徑?config/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 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
問題在于,您使用的不同工具在不同位置生成二進(jìn)制文件(或從不同位置運(yùn)行二進(jìn)制文件)。代碼中的 路徑指定為相對于進(jìn)程的當(dāng)前工作目錄。如果你想要非侵入式解決方案,你需要改變你的工作流程(你構(gòu)建和運(yùn)行主二進(jìn)制文件,調(diào)試器或去測試),或者你可以實(shí)現(xiàn)一些回退機(jī)制或環(huán)境變量,這些機(jī)制或變量將覆蓋配置文件的默認(rèn)路徑。config.ini
在 VSCode 中,配置中應(yīng)該有允許你設(shè)置工作目錄的變量。您應(yīng)該能夠設(shè)置,這應(yīng)該像從存儲庫的根目錄運(yùn)行命令一樣工作。cwd
launch.json
cwd: "${workspaceFolder}"
有關(guān)變量參考,請參見 https://code.visualstudio.com/docs/editor/variables-reference。
- 1 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)
0/150
提交
取消