fix: environment variable loading with godotenv (v0.0.3)

- Add godotenv dependency for .env file loading
- Update main.go to load environment variables
- Update memory.md with troubleshooting notes
- Test basic CLI functionality

Version: 0.0.3
This commit is contained in:
2026-03-28 23:30:57 +08:00
parent ad667fa782
commit cd305a62ef
5 changed files with 73 additions and 2 deletions

View File

@@ -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) - 核心架构实现 ### 0.0.2 (2026-03-28) - 核心架构实现
**类型**: 功能版本 **类型**: 功能版本
**状态**: 开发中 **状态**: 开发中

5
go.mod
View File

@@ -2,4 +2,7 @@ module github.com/titor/fanyi
go 1.26.1 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
)

2
go.sum
View File

@@ -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/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 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -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模板
- 在文档中说明环境变量配置方法
---
## 配置最佳实践 ## 配置最佳实践
### 安全配置 ### 安全配置

View File

@@ -126,3 +126,26 @@
**关联文档**: **关联文档**:
- [AGENTS.md#OOP设计模式](AGENTS.md#oop设计模式) - [AGENTS.md#OOP设计模式](AGENTS.md#oop设计模式)
- [changelog.md#0.0.2](changelog.md#002) - [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)