Handle Node.js spawnSync errors The 2019 Stack Overflow Developer Survey Results Are InHow do I debug Node.js applications?How do I get started with Node.jsWriting files in Node.jsHow do I pass command line arguments to a Node.js program?Read environment variables in Node.jsHow to decide when to use Node.js?How to exit in Node.jsWhat is the purpose of Node.js module.exports and how do you use it?How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)npm throws error without sudo
What does "sndry explns" mean in one of the Hitchhiker's guide books?
Does a dangling wire really electrocute me if I'm standing in water?
What is the meaning of Triage in Cybersec world?
Why don't Unix/Linux systems traverse through directories until they find the required version of a linked library?
How to answer pointed "are you quitting" questioning when I don't want them to suspect
What is the steepest angle that a canal can be traversable without locks?
What tool would a Roman-age civilization have to grind silver and other metals into dust?
How to change the limits of integration
"To split hairs" vs "To be pedantic"
What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?
What is this 4-propeller plane?
Could JWST stay at L2 "forever"?
How can I fix this gap between bookcases I made?
Understanding the implication of what "well-defined" means for the operation in quotient group
Are USB sockets on wall outlets live all the time, even when the switch is off?
Spanish for "widget"
How to create dashed lines/arrows in Illustrator
Pristine Bit Checking
What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?
Realistic Alternatives to Dust: What Else Could Feed a Plankton Bloom?
Does duplicating a spell with Wish count as casting that spell?
Limit the amount of RAM Mathematica may access?
Can distinct morphisms between curves induce the same morphism on singular cohomology?
Should I use my personal or workplace e-mail when registering to external websites for work purpose?
Handle Node.js spawnSync errors
The 2019 Stack Overflow Developer Survey Results Are InHow do I debug Node.js applications?How do I get started with Node.jsWriting files in Node.jsHow do I pass command line arguments to a Node.js program?Read environment variables in Node.jsHow to decide when to use Node.js?How to exit in Node.jsWhat is the purpose of Node.js module.exports and how do you use it?How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)npm throws error without sudo
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm trying to run "npm publish" from a gulp task. It works, but I want to handle any error that npm command itself throws.
If I execute this code:
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'inherit' )
cmd.stdout and cmd.stderr are null. If I execute
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'pipe' )
cmd.stdout and cmd.stderr are buffers, like <Buffer 6e 70 6d 20 45 52...
What am I missing here?
node.js npm gulp spawn
add a comment |
I'm trying to run "npm publish" from a gulp task. It works, but I want to handle any error that npm command itself throws.
If I execute this code:
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'inherit' )
cmd.stdout and cmd.stderr are null. If I execute
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'pipe' )
cmd.stdout and cmd.stderr are buffers, like <Buffer 6e 70 6d 20 45 52...
What am I missing here?
node.js npm gulp spawn
If I do thiscmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...
– Duke
Oct 20 '16 at 8:56
add a comment |
I'm trying to run "npm publish" from a gulp task. It works, but I want to handle any error that npm command itself throws.
If I execute this code:
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'inherit' )
cmd.stdout and cmd.stderr are null. If I execute
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'pipe' )
cmd.stdout and cmd.stderr are buffers, like <Buffer 6e 70 6d 20 45 52...
What am I missing here?
node.js npm gulp spawn
I'm trying to run "npm publish" from a gulp task. It works, but I want to handle any error that npm command itself throws.
If I execute this code:
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'inherit' )
cmd.stdout and cmd.stderr are null. If I execute
var cmd = spawnSync('npm.cmd', ['publish', packageDir], stdio: 'pipe' )
cmd.stdout and cmd.stderr are buffers, like <Buffer 6e 70 6d 20 45 52...
What am I missing here?
node.js npm gulp spawn
node.js npm gulp spawn
asked Oct 20 '16 at 8:35
DukeDuke
659
659
If I do thiscmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...
– Duke
Oct 20 '16 at 8:56
add a comment |
If I do thiscmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...
– Duke
Oct 20 '16 at 8:56
If I do this
cmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...– Duke
Oct 20 '16 at 8:56
If I do this
cmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...– Duke
Oct 20 '16 at 8:56
add a comment |
1 Answer
1
active
oldest
votes
In Node documentation regarding options.stdio
it says
By default, the child's stdin, stdout, and stderr are redirected to
corresponding subprocess.stdin, subprocess.stdout, and
subprocess.stderr.
In your options use
stdio: ['inherit', 'inherit', 'pipe']
And then check for stderr
. An example:
var spawn = childProcess.spawnSync('node script.js', stdio: ['inherit', 'inherit', 'pipe'] )
if (spawn.stderr)
console.log(Error(spawn.stderr))
process.exit(1)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f40149351%2fhandle-node-js-spawnsync-errors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In Node documentation regarding options.stdio
it says
By default, the child's stdin, stdout, and stderr are redirected to
corresponding subprocess.stdin, subprocess.stdout, and
subprocess.stderr.
In your options use
stdio: ['inherit', 'inherit', 'pipe']
And then check for stderr
. An example:
var spawn = childProcess.spawnSync('node script.js', stdio: ['inherit', 'inherit', 'pipe'] )
if (spawn.stderr)
console.log(Error(spawn.stderr))
process.exit(1)
add a comment |
In Node documentation regarding options.stdio
it says
By default, the child's stdin, stdout, and stderr are redirected to
corresponding subprocess.stdin, subprocess.stdout, and
subprocess.stderr.
In your options use
stdio: ['inherit', 'inherit', 'pipe']
And then check for stderr
. An example:
var spawn = childProcess.spawnSync('node script.js', stdio: ['inherit', 'inherit', 'pipe'] )
if (spawn.stderr)
console.log(Error(spawn.stderr))
process.exit(1)
add a comment |
In Node documentation regarding options.stdio
it says
By default, the child's stdin, stdout, and stderr are redirected to
corresponding subprocess.stdin, subprocess.stdout, and
subprocess.stderr.
In your options use
stdio: ['inherit', 'inherit', 'pipe']
And then check for stderr
. An example:
var spawn = childProcess.spawnSync('node script.js', stdio: ['inherit', 'inherit', 'pipe'] )
if (spawn.stderr)
console.log(Error(spawn.stderr))
process.exit(1)
In Node documentation regarding options.stdio
it says
By default, the child's stdin, stdout, and stderr are redirected to
corresponding subprocess.stdin, subprocess.stdout, and
subprocess.stderr.
In your options use
stdio: ['inherit', 'inherit', 'pipe']
And then check for stderr
. An example:
var spawn = childProcess.spawnSync('node script.js', stdio: ['inherit', 'inherit', 'pipe'] )
if (spawn.stderr)
console.log(Error(spawn.stderr))
process.exit(1)
answered Mar 8 at 8:39
João Pimentel FerreiraJoão Pimentel Ferreira
4,17622331
4,17622331
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f40149351%2fhandle-node-js-spawnsync-errors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
If I do this
cmd.stderr.toString()
, I can see the error, but cmd,error is still undefined...– Duke
Oct 20 '16 at 8:56