Go 应用程序未检测到 .env,并且无法连接到数据库



我在.env文件中获得了数据库设置。每当我写source .env时,它都不起作用,我不知道为什么,在其他应用程序中,它工作得很好。我现在收到这个错误

`` is not officially supported, running under compatibility mode.
2021/04/15 16:57:03 sql: unknown driver "" (forgotten import?)
exit status 1

我的进口:

"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
dialect := os.Getenv("DIALECT")
host := os.Getenv("HOST")
dbPort := os.Getenv("DBPORT")
user := os.Getenv("USER")
dbName := os.Getenv("NAME")
password := os.Getenv("PASSWORD")
dbURI := fmt.Sprintf("host=%s user=%s dbname=%s password=%s port=%s", host, user, dbName, password, dbPort)

每当我提供dialect := "postgres"等设置时,它都能很好地运行。但它不能与env文件一起工作,为什么我的应用程序找不到它?

文件夹结构

api/
.env
go.mod
go.sum
main.go

显然,在执行应用程序之前,没有在环境空间中设置变量。在运行应用程序之前,您可以通过查看设置的环境变量来自行测试。os.getenv()也不会为您提供.env文件源,因此您需要手动执行此操作,或者使用将为您执行此操作的库(例如godotenv(。

相关内容

  • 没有找到相关文章

最新更新