Using spawn function with NODE_ENV=production
node.js
Solution
Your usage of spawn is not correct:
`spawn( command, args, options )`:
Launches a new process with the given command, with command line arguments in args. If omitted, args defaults to an empty Array.
The third argument is used to specify additional options, which defaults to:
{ cwd: undefined, env: process.env }
Use env to specify environment variables that will be visible to the new process, the default is process.env.
So the env variable `NODE_ENV` should be provided on the options argument:
// ES6 Object spread eases extending process.env
spawn( 'node', ['app.js'], { env: { ...process.env, NODE_ENV: 'test' } })
See also How do I debug "Error: spawn ENOENT" on node.js?
Problem
I'm currently trying to run process using `spawn`. What I am trying to run from shell is the following; `NODE_ENV=production node app/app.js` Here's the code to run that; ``` var spawn = require('child_process').spawn; var start = spawn('NODE_ENV=production',['node','app/app.js']); ``` However, I got the following error; ``` events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34) ``` How can I do that using `spawn` ?