diff --git a/changelog.md b/changelog.md index d29798a..df4fa36 100644 --- a/changelog.md +++ b/changelog.md @@ -32,6 +32,24 @@ ## 版本历史 +### 0.0.3 (2026-03-29) - 环境变量加载修复 +**类型**: 修复版本 +**状态**: 开发中 + +**变更内容**: +- ✅ 修复环境变量加载问题 +- ✅ 添加godotenv依赖 +- ✅ 更新memory.md记录踩坑经验 +- ✅ 测试CLI基本功能 + +**讨论记录**: +- [环境变量加载修复](taolun.md#2026-03-29-0000-版本-003-环境变量加载修复) + +**下一步**: +- 实现更多厂商 +- 添加更多测试 +- 完善错误处理 + ### 0.0.2 (2026-03-28) - 核心架构实现 **类型**: 功能版本 **状态**: 开发中 diff --git a/go.mod b/go.mod index eff5821..0af6743 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module github.com/titor/fanyi go 1.26.1 -require gopkg.in/yaml.v3 v3.0.1 // indirect +require ( + github.com/joho/godotenv v1.5.1 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum index 4bc0337..0827d9a 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/memory.md b/memory.md index 6db74fd..f5aa42d 100644 --- a/memory.md +++ b/memory.md @@ -92,6 +92,31 @@ --- +### 环境变量加载问题 +**问题**: 配置文件中的环境变量没有正确加载 +**原因**: Go程序不会自动加载.env文件,需要使用第三方库 +**解决方案**: +1. 使用`github.com/joho/godotenv`包 +2. 在程序启动时调用`godotenv.Load()` +3. 将.env文件添加到.gitignore + +**代码示例**: +```go +import "github.com/joho/godotenv" + +func main() { + _ = godotenv.Load() // 加载.env文件 + // 然后加载配置文件 +} +``` + +**注意事项**: +- 不要提交真实的.env文件到版本控制 +- 提供.env.example模板 +- 在文档中说明环境变量配置方法 + +--- + ## 配置最佳实践 ### 安全配置 diff --git a/taolun.md b/taolun.md index 6aeed77..df292ad 100644 --- a/taolun.md +++ b/taolun.md @@ -125,4 +125,27 @@ **关联文档**: - [AGENTS.md#OOP设计模式](AGENTS.md#oop设计模式) -- [changelog.md#0.0.2](changelog.md#002) \ No newline at end of file +- [changelog.md#0.0.2](changelog.md#002) + +--- + +### [2026-03-29 00:00] 版本 0.0.3 - 环境变量加载修复 +**原因**: 测试CLI时发现环境变量没有正确加载 +**分析**: +- 配置文件中使用`${ENV_VAR}`语法 +- Go的`os.ExpandEnv`只在加载时替换 +- 需要先加载.env文件到环境变量 + +**解决方案**: +1. 添加`github.com/joho/godotenv`依赖 +2. 在main函数开始时调用`godotenv.Load()` +3. 更新memory.md记录踩坑经验 + +**技术细节**: +- godotenv会自动查找当前目录的.env文件 +- 如果文件不存在会返回错误,可以忽略 +- 不影响已有的环境变量 + +**关联文档**: +- [memory.md#环境变量加载问题](memory.md#环境变量加载问题) +- [changelog.md#0.0.3](changelog.md#003) \ No newline at end of file