-
-
Notifications
You must be signed in to change notification settings - Fork 26.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Empty REACT_APP_ env vars in .env.production cannot override its counterpart in .env #4002
Comments
This does sound like a bug. I took a quick look at the I think the workaround you came up with is a better way to handle this situation anyway but we should still look into what's going on here. |
It looks like this was fixed in dotenv here. So, looks like we need to wait for 5.0 release. |
Looks like 5.0 was released a couple of weeks ago so we just need to upgrade. Too bad we didn't notice that before the |
Since this is potentially breaking for others who may rely on the behavior it's probably better to do this in 2.x only [ |
Makes sense. I've submitted a PR to |
The fix will be available in the next 2.x alpha. |
Hey everyone, just wanted to point out that I'm still running into this issue. I believe the bug here is actually being introduced by |
Is this a bug report?
Yes.
When an
REACT_APP_
environment variable is set in.env
, we cannot overwrite it with an empty string.In our scenario, our app tries to connect to an development API server running on local machine, but in production the static files built with
npm build
will be served directly with API server. The host name is set through anREACT_APP_ENDPOINT
environment variable, with it being localhost in.env
and being an empty string in.env.production
. However, the empty string somehow cannot override the settings in.env
.In reality I worked-around this by putting
REACT_APP_ENDPOINT
in.env.development
.Also, for API servers we can also use proxies instead. However, I think it's still a bit counter-intuitive that settings in
.env.production
cannot override the one in.env
. That's why I opened this issue.Did you try recovering your dependencies?
It's reproducible in fresh install of create-react-app
Which terms did you search for in User Guide?
env
then read through "Adding Custom Environment Variables"Environment
node -v
: v8.9.0npm -v
: 5.5.1npm ls react-scripts
(if you haven’t ejected): react-scripts@1.1.0Then, specify:
Steps to Reproduce
.env
and writeREACT_APP_ENDPOINT=http://localhost:8080
.env.production
and writeREACT_APP_ENDPOINT=
App.js
put:npm run build
Expected Behavior
Find this in the built js:
Actual Behavior
Find this in the built js:
Reproducible Demo
Repo
https://github.com/MrOrz/create-react-app-env-override/
Relevant file
The text was updated successfully, but these errors were encountered: