Javascript Dotenv无法覆盖键值对
我试图在节点服务器上使用dotenv实现环境变量,但是从根目录中的.env文件加载环境变量时遇到问题。当我运行Javascript Dotenv无法覆盖键值对,javascript,node.js,dotenv,Javascript,Node.js,Dotenv,我试图在节点服务器上使用dotenv实现环境变量,但是从根目录中的.env文件加载环境变量时遇到问题。当我运行constdotenv=require(“dotenv”).config({debug:true})时我遇到以下消息:process.env中已经定义了“USER”,不会被覆盖 此外,当我尝试加载页面时,它会遇到以下错误:ER\u DBACCESS\u DENIED\u错误:拒绝用户'@'localhost'访问数据库'\u api' .env: 从 已设置的环境变量不会被覆盖,这意味着
constdotenv=require(“dotenv”).config({debug:true})时
我遇到以下消息:process.env中已经定义了“USER”,不会被覆盖
此外,当我尝试加载页面时,它会遇到以下错误:ER\u DBACCESS\u DENIED\u错误:拒绝用户'@'localhost'访问数据库'\u api'
.env:
从
已设置的环境变量不会被覆盖,这意味着命令行变量的优先级高于env文件中定义的所有变量
还有这个
我们永远不会修改任何已经设置的环境变量。特别是,如果.env文件中有一个变量与环境中已存在的变量冲突,则将跳过该变量。此行为允许您使用特定于计算机的环境覆盖所有.env配置,但不建议这样做
如果要覆盖process.env,可以执行以下操作:
const fs=require('fs'))
const dotenv=require('dotenv')
const envConfig=dotenv.parse(fs.readFileSync('.env.override'))
for(环境配置中的常数k){
process.env[k]=envConfig[k]
}
来自
已设置的环境变量不会被覆盖,这意味着命令行变量的优先级高于env文件中定义的所有变量
还有这个
我们永远不会修改任何已经设置的环境变量。特别是,如果.env文件中有一个变量与环境中已存在的变量冲突,则将跳过该变量。此行为允许您使用特定于计算机的环境覆盖所有.env配置,但不建议这样做
如果要覆盖process.env,可以执行以下操作:
const fs=require('fs'))
const dotenv=require('dotenv')
const envConfig=dotenv.parse(fs.readFileSync('.env.override'))
for(环境配置中的常数k){
process.env[k]=envConfig[k]
}
您是如何运行js文件的?您是否通过命令行设置了环境变量?@slideshowp2如果我在命令行中手动设置环境变量,一切正常,但是我有const dotenv=require(“dotenv”).config({debug:true});在使用环境变量的文件上,它似乎无法识别它们。您是如何运行js文件的?您是否通过命令行设置了环境变量?@slideshowp2如果我在命令行中手动设置环境变量,一切正常,但是我有const dotenv=require(“dotenv”).config({debug:true});在使用环境变量的文件上,它似乎无法识别它们
USER=root
PASS=