Error: Cannot find module 'http-errors' on local npm












1














I got a problem on understanding how node resolve module in local node_modules folder. My app using a module called http-errors which is a dependency in node_modules. I used a Powershell command to confirm it



❯ npm ls --prod | Select-String -Pattern "http-errors"

| | +-- http-errors@1.6.3
| | | +-- http-errors@1.6.2
| | +-- http-errors@1.6.3


Why do I still have error on cannot find http-errors module?



Add: This is where I require http-errors



const createError = require('http-errors');

function catchNotFound(_req, _res, next) {
next(createError(404));
}









share|improve this question




















  • 1




    can you share where you are using http-errors in your js ?
    – Pranay Tripathi
    Nov 19 '18 at 12:34
















1














I got a problem on understanding how node resolve module in local node_modules folder. My app using a module called http-errors which is a dependency in node_modules. I used a Powershell command to confirm it



❯ npm ls --prod | Select-String -Pattern "http-errors"

| | +-- http-errors@1.6.3
| | | +-- http-errors@1.6.2
| | +-- http-errors@1.6.3


Why do I still have error on cannot find http-errors module?



Add: This is where I require http-errors



const createError = require('http-errors');

function catchNotFound(_req, _res, next) {
next(createError(404));
}









share|improve this question




















  • 1




    can you share where you are using http-errors in your js ?
    – Pranay Tripathi
    Nov 19 '18 at 12:34














1












1








1







I got a problem on understanding how node resolve module in local node_modules folder. My app using a module called http-errors which is a dependency in node_modules. I used a Powershell command to confirm it



❯ npm ls --prod | Select-String -Pattern "http-errors"

| | +-- http-errors@1.6.3
| | | +-- http-errors@1.6.2
| | +-- http-errors@1.6.3


Why do I still have error on cannot find http-errors module?



Add: This is where I require http-errors



const createError = require('http-errors');

function catchNotFound(_req, _res, next) {
next(createError(404));
}









share|improve this question















I got a problem on understanding how node resolve module in local node_modules folder. My app using a module called http-errors which is a dependency in node_modules. I used a Powershell command to confirm it



❯ npm ls --prod | Select-String -Pattern "http-errors"

| | +-- http-errors@1.6.3
| | | +-- http-errors@1.6.2
| | +-- http-errors@1.6.3


Why do I still have error on cannot find http-errors module?



Add: This is where I require http-errors



const createError = require('http-errors');

function catchNotFound(_req, _res, next) {
next(createError(404));
}






javascript node.js npm






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 '18 at 12:38

























asked Nov 19 '18 at 12:32









TrmaPhi

104




104








  • 1




    can you share where you are using http-errors in your js ?
    – Pranay Tripathi
    Nov 19 '18 at 12:34














  • 1




    can you share where you are using http-errors in your js ?
    – Pranay Tripathi
    Nov 19 '18 at 12:34








1




1




can you share where you are using http-errors in your js ?
– Pranay Tripathi
Nov 19 '18 at 12:34




can you share where you are using http-errors in your js ?
– Pranay Tripathi
Nov 19 '18 at 12:34












1 Answer
1






active

oldest

votes


















0














I figured out how node.js resolve modules. Open REPL session and type



❯ node
> module.paths
[ 'C:\Users\truong\Projects\DDAC\repl\node_modules',
'C:\Users\truong\Projects\DDAC\node_modules',
'C:\Users\truong\Projects\node_modules',
'C:\Users\truong\node_modules',
'C:\Users\node_modules',
'C:\node_modules',
'C:\Users\truong\.node_modules',
'C:\Users\truong\.node_libraries',
'C:\Program Files\nodejs\lib\node' ]
> require('http-errors')
Error: Cannot find module 'http-errors'
at Function.Module._resolveFilename (module.js:536:15)
>


Node.js can only resolve modules in those paths. Even npm have that dependency, but if there is no directory name exactly like module name, require cannot be resolved. Read more at this article.






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%2f53374745%2ferror-cannot-find-module-http-errors-on-local-npm%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














    I figured out how node.js resolve modules. Open REPL session and type



    ❯ node
    > module.paths
    [ 'C:\Users\truong\Projects\DDAC\repl\node_modules',
    'C:\Users\truong\Projects\DDAC\node_modules',
    'C:\Users\truong\Projects\node_modules',
    'C:\Users\truong\node_modules',
    'C:\Users\node_modules',
    'C:\node_modules',
    'C:\Users\truong\.node_modules',
    'C:\Users\truong\.node_libraries',
    'C:\Program Files\nodejs\lib\node' ]
    > require('http-errors')
    Error: Cannot find module 'http-errors'
    at Function.Module._resolveFilename (module.js:536:15)
    >


    Node.js can only resolve modules in those paths. Even npm have that dependency, but if there is no directory name exactly like module name, require cannot be resolved. Read more at this article.






    share|improve this answer


























      0














      I figured out how node.js resolve modules. Open REPL session and type



      ❯ node
      > module.paths
      [ 'C:\Users\truong\Projects\DDAC\repl\node_modules',
      'C:\Users\truong\Projects\DDAC\node_modules',
      'C:\Users\truong\Projects\node_modules',
      'C:\Users\truong\node_modules',
      'C:\Users\node_modules',
      'C:\node_modules',
      'C:\Users\truong\.node_modules',
      'C:\Users\truong\.node_libraries',
      'C:\Program Files\nodejs\lib\node' ]
      > require('http-errors')
      Error: Cannot find module 'http-errors'
      at Function.Module._resolveFilename (module.js:536:15)
      >


      Node.js can only resolve modules in those paths. Even npm have that dependency, but if there is no directory name exactly like module name, require cannot be resolved. Read more at this article.






      share|improve this answer
























        0












        0








        0






        I figured out how node.js resolve modules. Open REPL session and type



        ❯ node
        > module.paths
        [ 'C:\Users\truong\Projects\DDAC\repl\node_modules',
        'C:\Users\truong\Projects\DDAC\node_modules',
        'C:\Users\truong\Projects\node_modules',
        'C:\Users\truong\node_modules',
        'C:\Users\node_modules',
        'C:\node_modules',
        'C:\Users\truong\.node_modules',
        'C:\Users\truong\.node_libraries',
        'C:\Program Files\nodejs\lib\node' ]
        > require('http-errors')
        Error: Cannot find module 'http-errors'
        at Function.Module._resolveFilename (module.js:536:15)
        >


        Node.js can only resolve modules in those paths. Even npm have that dependency, but if there is no directory name exactly like module name, require cannot be resolved. Read more at this article.






        share|improve this answer












        I figured out how node.js resolve modules. Open REPL session and type



        ❯ node
        > module.paths
        [ 'C:\Users\truong\Projects\DDAC\repl\node_modules',
        'C:\Users\truong\Projects\DDAC\node_modules',
        'C:\Users\truong\Projects\node_modules',
        'C:\Users\truong\node_modules',
        'C:\Users\node_modules',
        'C:\node_modules',
        'C:\Users\truong\.node_modules',
        'C:\Users\truong\.node_libraries',
        'C:\Program Files\nodejs\lib\node' ]
        > require('http-errors')
        Error: Cannot find module 'http-errors'
        at Function.Module._resolveFilename (module.js:536:15)
        >


        Node.js can only resolve modules in those paths. Even npm have that dependency, but if there is no directory name exactly like module name, require cannot be resolved. Read more at this article.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 19 '18 at 12:51









        TrmaPhi

        104




        104






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f53374745%2ferror-cannot-find-module-http-errors-on-local-npm%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

            MongoDB - Not Authorized To Execute Command

            Npm cannot find a required file even through it is in the searched directory

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith