"dotenv: error when sourcing '.env' file"?
"dotenv: error when sourcing '.env' file"?
每次我 cd
使用终端或 iTerm2 的特定目录(我是 运行 Macos 10.14.5,Node 12.13.0),我都会收到以下错误,似乎是抱怨我的团队提供给我的“.env”文件。他们没有得到错误。
.env:22: parse error near '}'
dotenv: error when sourcing '.env' file
.env:22: parse error near '}'
第 22 行,似乎导致错误的是
COOKIE_SETTINGS={"isSecure": false, "isSameSite": false, "isHttpOnly": true, "encoding": "base64json", "path": "/"}
知道如何解决这个问题吗?感谢您的任何见解。
您不能在 .env
文件中存储对象。
解决方案是:
字符串化 JSON 对象并保存为环境变量。然后在需要对象时解析并使用它。
另一个解决方案是这样写变量:
COOKIE_SETTINGS_IS_SECURE = false
COOKIE_SETTINGS_IS_SAME_SITE = false
...
这似乎是解析环境时的错误。
我认为 env 只支持这种情况下的字符串或数字。
也许你可以在 .env
中使用
COOKIE_SETTINGS="{'isSecure': false, 'isSameSite': false, 'isHttpOnly': true, 'encoding': 'base64json', 'path': '/'}"
在JS中只需使用JSON.parse返回Object
cookieSettings= process.env.DB_HOST ? JSON.parse(process.env.DB_HOST) : null;
每次我 cd
使用终端或 iTerm2 的特定目录(我是 运行 Macos 10.14.5,Node 12.13.0),我都会收到以下错误,似乎是抱怨我的团队提供给我的“.env”文件。他们没有得到错误。
.env:22: parse error near '}'
dotenv: error when sourcing '.env' file
.env:22: parse error near '}'
第 22 行,似乎导致错误的是
COOKIE_SETTINGS={"isSecure": false, "isSameSite": false, "isHttpOnly": true, "encoding": "base64json", "path": "/"}
知道如何解决这个问题吗?感谢您的任何见解。
您不能在 .env
文件中存储对象。
解决方案是:
字符串化 JSON 对象并保存为环境变量。然后在需要对象时解析并使用它。
另一个解决方案是这样写变量:
COOKIE_SETTINGS_IS_SECURE = false
COOKIE_SETTINGS_IS_SAME_SITE = false
...
这似乎是解析环境时的错误。 我认为 env 只支持这种情况下的字符串或数字。 也许你可以在 .env
中使用COOKIE_SETTINGS="{'isSecure': false, 'isSameSite': false, 'isHttpOnly': true, 'encoding': 'base64json', 'path': '/'}"
在JS中只需使用JSON.parse返回Object
cookieSettings= process.env.DB_HOST ? JSON.parse(process.env.DB_HOST) : null;