I am following a node course and while setting the environment variable as shown it does not work
It says to set environment variables, use SET on Windows and EXPORT on Mac:
set jwtkey=myprivatekey, when I use this nothing happens, it does not set anything.
This is set using the config package, and I have also created a separate files for default.json and custom-env.json
if (!config.get("jwtPrivateKey")) {
console.error("FATAL ERROR: JwtKey Not Set");
process.exit(1);
}
please help
this is my .env file(using dotenv)
PORT=9000 //this is working
jwtPrivateKey="myPrivateKey" //this is not working tho.
[basically, I wanted to hide my VERIFY SIGNATURE(digital signature) and store it in ENV so that it cant be accessed.]
If you use set in a Windows terminal, it will set the variable just for this terminal. If you start the node in the same terminal, everything should work fine. Otherwise read this article on how to change the variable permanently.
There are two types of environment variables in Windows: user and system variables. If possible, use a user variable.
You might want to read the answers to this similar question
Update (.env)
When using dotenv to read an .env-file as suggestd by Andy, be aware of the parsing rules and make sure that the file encoding is correct; see answers to What language is a .env file written in?.
Be sure that you use the same variable name in .env and in your code and comments. (You did use jwtkey, JwtKey and jwtPrivateKey.) I also recommend that you use UPPER_CASE for environment variables, just to make sure that case does not matter when switching operating systems. Using the same conventions as the node.js documentation is always a good idea. (How to read environment variables from Node.js.)