ENOTFOUND when running npm install

16,218

Solution 1

Your user config file looks like you have some sort of proxy configured:

; userconfig C:\Users\taras\.npmrc
http-proxy = "http://username:password@ip:port"
https-proxy = "http://username:password@ip/:port"
registry = "http://registry.npmjs.org/"
strict-ssl = false

If you don't intend to use a proxy, I'd remove the C:\Users\taras.npmrc and re-do npm install.

Update: As the config files is stored in the user directory, it will remain unchanged, when you e.g. update npm.

Solution 2

Maybe it's because the proxy do not stand for https. What I do is clear the proxy content of ~/.npmrc, or use

npm config delete proxy

Share:
16,218
TheSmokingGnu
Author by

TheSmokingGnu

Updated on June 04, 2022

Comments

  • TheSmokingGnu
    TheSmokingGnu almost 2 years

    I am trying to install dependencies for a project with this project.json file:

    {
      "name": "Pizza",
      "version": "1.0.0",
      "description": "NIT Project",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "TheSmokingGnu",
      "license": "ISC",
      "dependencies": {
        "basil.js": "^0.4.3",
        "brfs": "^1.4.3",
        "ejs": "^2.4.1",
        "grunt": "^0.4.5",
        "grunt-browserify": "^4.0.1",
        "grunt-contrib-watch": "^0.6.1"
      }
    }
    

    I just cd into directory(or use webshtorm's console for that), and run npm install:

    npm install
    npm ERR! code ENOTFOUND
    npm ERR! errno ENOTFOUND
    npm ERR! network request to http://registry.npmjs.org/ejs failed, reason: getaddrinfo ENOTFOUND ip ip:80
    npm ERR! network This is a problem related to network connectivity.
    npm ERR! network In most cases you are behind a proxy or have bad network settings.
    npm ERR! network
    npm ERR! network If you are behind a proxy, please make sure that the
    npm ERR! network 'proxy' config is set properly.  See: 'npm help 
    

    I am using Windows 10 (installed just yesterday), with system firewall turned off. I did not have any intention to use proxys, my config list looks like that:

    >npm config list
    ; cli configs
    metrics-registry = "http://registry.npmjs.org/"
    scope = ""
    user-agent = "npm/5.5.1 node/v8.9.1 win32 x64"
    
    ; userconfig C:\Users\taras\.npmrc
    http-proxy = "http://username:password@ip:port"
    https-proxy = "http://username:password@ip/:port"
    registry = "http://registry.npmjs.org/"
    strict-ssl = false
    
    ; builtin config undefined
    prefix = "C:\\Users\\taras\\AppData\\Roaming\\npm"
    
    ; node bin location = C:\Program Files\nodejs\node.exe
    ; cwd = D:\Downloads\JS-Pizza-master\JS-Pizza-master
    ; HOME = C:\Users\taras
    ; "npm config ls -l" to show all defaults.
    

    Finally, my error log:

    0 info it worked if it ends with ok
    1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
    1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
    1 verbose cli   'install' ]
    2 info using [email protected]
    3 info using [email protected]
    4 verbose npm-session 9d19f4920a39031f
    5 silly install runPreinstallTopLevelLifecycles
    6 silly preinstall [email protected]
    7 info lifecycle [email protected]~preinstall: [email protected]
    8 silly install loadCurrentTree
    9 silly install readLocalPackageData
    10 silly install loadIdealTree
    11 silly install cloneCurrentTreeToIdealTree
    12 silly install loadShrinkwrap
    13 silly install loadAllDepsIntoIdealTree
    14 silly fetchPackageMetaData error for grunt@^0.4.5 request to http://registry.npmjs.org/grunt failed, reason: getaddrinfo ENOTFOUND ip ip:80
    15 silly fetchPackageMetaData error for ejs@^2.4.1 request to http://registry.npmjs.org/ejs failed, reason: getaddrinfo ENOTFOUND ip ip:80
    16 silly fetchPackageMetaData error for brfs@^1.4.3 request to http://registry.npmjs.org/brfs failed, reason: getaddrinfo ENOTFOUND ip ip:80
    17 silly fetchPackageMetaData error for basil.js@^0.4.3 request to http://registry.npmjs.org/basil.js failed, reason: getaddrinfo ENOTFOUND ip ip:80
    18 silly fetchPackageMetaData error for grunt-contrib-watch@^0.6.1 request to http://registry.npmjs.org/grunt-contrib-watch failed, reason: getaddrinfo ENOTFOUND ip ip:80
    19 silly fetchPackageMetaData error for grunt-browserify@^4.0.1 request to http://registry.npmjs.org/grunt-browserify failed, reason: getaddrinfo ENOTFOUND ip ip:80
    20 silly fetchPackageMetaData error for basil.js@^0.4.3 request to http://registry.npmjs.org/basil.js failed, reason: getaddrinfo ENOTFOUND ip ip:80
    21 silly fetchPackageMetaData error for brfs@^1.4.3 request to http://registry.npmjs.org/brfs failed, reason: getaddrinfo ENOTFOUND ip ip:80
    22 silly fetchPackageMetaData error for ejs@^2.4.1 request to http://registry.npmjs.org/ejs failed, reason: getaddrinfo ENOTFOUND ip ip:80
    23 silly fetchPackageMetaData error for grunt@^0.4.5 request to http://registry.npmjs.org/grunt failed, reason: getaddrinfo ENOTFOUND ip ip:80
    24 silly fetchPackageMetaData error for grunt-browserify@^4.0.1 request to http://registry.npmjs.org/grunt-browserify failed, reason: getaddrinfo ENOTFOUND ip ip:80
    25 silly fetchPackageMetaData error for grunt-contrib-watch@^0.6.1 request to http://registry.npmjs.org/grunt-contrib-watch failed, reason: getaddrinfo ENOTFOUND ip ip:80
    26 verbose type system
    27 verbose stack FetchError: request to http://registry.npmjs.org/basil.js failed, reason: getaddrinfo ENOTFOUND ip ip:80
    27 verbose stack     at ClientRequest.req.on.err (C:\Program Files\nodejs\node_modules\npm\node_modules\pacote\node_modules\make-fetch-happen\node_modules\node-fetch-npm\src\index.js:68:14)
    27 verbose stack     at emitOne (events.js:116:13)
    27 verbose stack     at ClientRequest.emit (events.js:211:7)
    27 verbose stack     at Socket.socketErrorListener (_http_client.js:387:9)
    27 verbose stack     at emitOne (events.js:116:13)
    27 verbose stack     at Socket.emit (events.js:211:7)
    27 verbose stack     at emitErrorNT (internal/streams/destroy.js:64:8)
    27 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:138:11)
    27 verbose stack     at process._tickCallback (internal/process/next_tick.js:180:9)
    28 verbose cwd D:\Downloads\JS-Pizza-master\JS-Pizza-master
    29 verbose Windows_NT 10.0.16299
    30 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
    31 verbose node v8.9.1
    32 verbose npm  v5.5.1
    33 error code ENOTFOUND
    34 error errno ENOTFOUND
    35 error network request to http://registry.npmjs.org/basil.js failed, reason: getaddrinfo ENOTFOUND ip ip:80
    36 error network This is a problem related to network connectivity.
    36 error network In most cases you are behind a proxy or have bad network settings.
    36 error network
    36 error network If you are behind a proxy, please make sure that the
    36 error network 'proxy' config is set properly.  See: 'npm help config'
    37 verbose exit [ 1, true ]
    
    • Konstantin A. Magg
      Konstantin A. Magg over 6 years
      Your user config file looks a little odd to me (if you don't want to use a proxy): http-proxy: "http://username:password@ip:port". As a quick test, I'd remove the C:\Users\taras\.npmrc file (or just rename to ignore.npmrc) and re-do the npm install.
    • TheSmokingGnu
      TheSmokingGnu over 6 years
      That helped, thank you. I recall running one set proxy command, but i have uninstalled node and npm after that. Guess the settings stay.
    • Konstantin A. Magg
      Konstantin A. Magg over 6 years
      Perfect. If I add an anser, can you check it "accepted"?
  • Konstantin A. Magg
    Konstantin A. Magg over 5 years
    @Ali If you need support with your error, take the time to post a full question telling us what you try to do and what is not working. There are lot's of folks on SO to support you ;)
  • Ali
    Ali over 5 years
    I am trying npm install but getting that ENOTFOUND error, I don't know what values I need to put for http-proxy, I have checked there is no proxy configured, so how can I get those values?