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;








4















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?










share|improve this question






















  • 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

















4















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?










share|improve this question






















  • 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













4












4








4








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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 20 '16 at 8:35









DukeDuke

659




659












  • 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
















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












1 Answer
1






active

oldest

votes


















0














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)






share|improve this answer























    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
    );



    );













    draft saved

    draft discarded


















    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









    0














    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)






    share|improve this answer



























      0














      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)






      share|improve this answer

























        0












        0








        0







        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)






        share|improve this answer













        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)







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 at 8:39









        João Pimentel FerreiraJoão Pimentel Ferreira

        4,17622331




        4,17622331





























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            1928 у кіно

            Захаров Федір Захарович

            Ель Греко