getaddrinfo EAI_AGAIN registry.npmjs.org:80 - node.js

Hi guys I'm trying to publish my angular library in npm, but when I login I get this:
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to http://registry.npmjs.org/-/user/org.couchdb.user:belzee10 failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:80
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\belzee\AppData\Roaming\npm-cache\_logs\2018-01-08T16_03_35_050Z-debug.log
versions
node: 8.9.3
npm: 5.5.1
I am behind an authenticated proxy and I have already configured: proxy and https-proxy
npm config set proxy http: // Username: Pa55w0rd # proxyhostname: port
npm config set https-proxy http: // Username: Pa55w0rd # proxyhostname: port
Thank you for your attention

npm config rm proxy
npm config rm https-proxy
Use the above commands and restart the system. It worked for me.

This drove me crazy for hours and I didn't even know what I did to make it work. But the last thing I tried was:
In cmd typed ping registry.npmjs.org.
Error couldn't find the host
Open hosts file through this: https://support.rackspace.com/how-to/modify-your-hosts-file/
Added 151.101.72.162 registry.npmjs.org to a new line.
Save.
Tried installing a package, still didn't work
But I randomly tried to ping registry.npmjs.org again, and it worked!
Tried installing a package again, still didn't work.
Removed the 151.101.72.162 registry.npmjs.org and saved again. Practically reverting the last edit.
Tried installing and it's working now. Why???? I have no idea. For all I know there's a minor deity inside my laptop and I randomly appeased it somehow...

I had this problem in a WSL1 Linux container on a Windows 10 host in a corporate network.
Adding a new nameserver to the top of /etc/resolv.conf as either 9.9.9.9 or 1.1.1.1 fixed the issue.

Try to connect to some other network.
This error resemble some issue with network. I was trying to install a lib from NPM on windows but getting this error. This worked for me. Maybe it might help you too.

The following github link resolved the issue for me ->
https://github.com/StefanScherer/dockerfiles-windows/issues/270#issuecomment-382229052
create the file /etc/docker/daemon.json
and insert:
{
"dns": ["10.0.0.2", "8.8.8.8"]
}
and then restarting pc

First run
npm i npm#latest
and check error is coming again or not. if it is
Try to resolve your proxy settings
For Linux(ubuntu)
https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-configure-proxy-on-ubuntu-18-04/
For windows
https://www.howtogeek.com/tips/how-to-set-your-proxy-settings-in-windows-8.1/

Changed the registry as https://registry.npmjs.org/ in .npmrc file.
In terminal:
npm config rm proxy
npm config rm https-proxy
Restarted the system.
npm i worked :-)

in my case, there must have been network instability, I deactivated then reactivated my internet connection, it works now!

That error means a domain name resolution error in Node.
I'm not sure what exactly could be your issue here, but https://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html has some good info.
This error is definitely due to the proxy you have set up. I had a similar issue earlier, and disabling the proxy worked for me.

I had the same problem you can check if you opening a session that connecting database, you can try disabling any sessions on the database and try again using npm i filepond

Related

npm install Error: rollbackFailedOptional

When I try npm install new packages it shows me this error:
rollbackFailedOptional: verb npm-session 585aaecfe5f9a82
node --version
8.4.0
npm --version
5.3.0
# first this
> npm config rm proxy
> npm config rm https-proxy
# then this
> npm config set registry https://registry.npmjs.org/
solved my problem.
Again: Be sure to check whether you have internet connected properly.
Try this
npm config rm proxy
npm config rm https-proxy
In my case I had to edit the .npmrc directly and add the proxy settings manually.
proxy=http://yourorganizationproxy.com:8080
https-proxy=http://yourorganizationproxy.com:8080
Hope this helps someone.
The cause for this might be your current NPM registry. Try to check for a .npmrc file. These can be at various locations:
per-project config file (/path/to/my/project/.npmrc)
per-user config file (~/.npmrc)
global config file ($PREFIX/etc/npmrc)
npm builtin config file (/path/to/npm/npmrc)
Within these there can be something like
registry=https://mycustomregistry.example.org
which will take priority over the default one (http://registry.npmjs.org/). You can delete this line in the file or use the default registry like that:
npm <command> --registry http://registry.npmjs.org/
Most likely to be npm registry cannot be reached by npm. Check npm proxy configuration
I had exactly the same issue on Windows Server 2008 R2. I suspected Internet Explorer's Enhanced Security Configuration at first but after turning that off with no success the issue turned out to be that npm was not configured to use my corporate proxy connection to the internet.
It turns out that npm does not use the proxy settings in effect via Internet Options > Connections tab > LAN settings where the server is set to 'Automatically detect settings'. Being set to automatically detect settings does not guarantee that a proxy is indeed being used, it just means that Windows will automatically configure proxy settings for Internet Explorer if it finds a special'wpad.dat' file at http://wpad.[yourdomain.com]/wpad.dat.
You can test whether a wpad.dat file is in use in your organisation by typing the following into a web browser.
http://wpad.[yourcompany.domain]/wpad.dat
If no file is available then it is likely you are not using an organization-wide proxy. If one does get returned to the browser then...
Toward the bottom of this file, you should see a line saying
PROXY <host:port>;
It might be repeated if you have multiple proxies available. The host and port are needed in order to tell npm to use the proxy settings like so:
npm config set proxy http://[host]:[port]
and
npm config set https-proxy http://[host]:[port]
For example if your proxy is at my.proxy.com on port 8080 then the npm commands would be:
npm config set proxy http://my.proxy.com:8080
npm config set https-proxy http://my.proxy.com:8080
Once I had told npm which proxy to use all started working in I was able to run the install commands without a problem.
Thanks to the following post for help with the wpad file discovery.
In my case I had my npm set registry set to https://nexus, use:
npm config delete registry
This will revert to its default state.
I tried following options to fix this issue and it worked.
Uninstall Node.js version 8.
Install Node.js version 6.11.4
Use the registry option along with command to install any package.
For example to install express I used following command.
npm install express --registry http://registry.npmjs.org/
or
npm install express -g --registry http://registry.npmjs.org/
If you want to install locally in any specific folder then use below command. Below command will install express on path C:\Sample\Example1 .
C:\Sample1\Example1> npm install /Sample/Example1 express --registry http://registry.npmjs.org/
Note: If you are installing locally in a specific location then first go to that directory using command and then run above command. If you are not inside that directory and giving only path in command that will not work.
If you get package.json missing error then run below command before installing package locally
C:\Sample\Example1> npm init
above command will create package.json file. No need to provide any data. just hit enter.
Note: If you are behind a firewall then you may need to set a proxy.
Hi I'm also new to react and I also faced this problem after so many trouble I found solution: Just run in your command prompt or terminal :
npm config set registry http://registry.npmjs.org/
This will resolve your problem.
Reference link: http://blog.csdn.net/zhalcie2011/article/details/78726679
Make sure you can access the corporate repository you configured in npm is available.Check you VPN connection.
Else reset it back to default repository like below.
npm config set registry http://registry.npmjs.org/
Good Luck!!
The following commands resolved my issue:
npm config set proxy http://yourproxyurl.com:8080 (you need to enter your or your company proxy URL and 8080 should be replaced by your proxy port)
npm config set https-proxy http://yourproxyurl.com:8080
I had the same effect creating a react app with PhpStorm. And then at the end it just says done. Running the same command in the terminal gave me detailed errors. The project folder I've created was named react which seems to be a no-go.
Make sure your project folder is not named react.
If you have access to the registry but the error is still occurred nothing mentioned above wouldn't work. I noted that this problem is only applicable for local project's installation (i.e. if you use -g to global install everything is working fine).
What's resolved the problem for me: just remove an entry regarding a package you're going to install from a project's package.json file. After that next call to npm will work and install the package successfully.
Seem this bug is not fixed yet [1]. Some people get worked, some people not. I also get not worked.
I tried clear cache with command: npm cache verify then run install command again. I got worked.
[1]. https://github.com/npm/npm/issues/17246
I had the same issue. But it can run properly with switching from company's internal network to visitor network.
I set two system environment variables -
HTTP_PROXY = <_proxy_url_>
HTTPS_PROXY = <_proxy_url_>
This actually worked for me.
In some rarer occasions, check that the project can be built using regular npm commands. I ran into one that is configured to work with bower, so bower install <github_url> works while npm install <github_url> gives that unhelpful cryptic error message on all platforms...
While installing the Angular Command line tool (CLI), If you are getting Rollback Error then it may be occurring due to your network is connected with your Client Network or your Company Network where you are working on.
So Please try to install CLI in your public network (or Your Mobile's hotspot Network) then you would definitely get CLI installed.
Solution:
The default value of ‘proxy’ and ‘https-proxy’ key of npm config is NULL. After doing some more R & D then I tried to set the proxy setting value to above key (this solution works in my scenario).
Also, the same proxy settings need to be applied in IE browser Internet Settings >> Settings >> LAN settings.
Conclusion:
In corporate/some environment the proxy is a somewhat mandatory setting otherwise npm install will not work.
Issue on GitHub: https://github.com/SharePoint/sp-dev-docs/issues/3266
You can refer blog for detailed information
https://blogs2share.blogspot.com/2019/01/spfx-environment-setup-error.html
You can resolve the issue by looking if your network has any proxies, that is prohibiting the download process. My company's network had a firewall enabled, which was causing the issue for me. So I had to switch to an un-secure network (probably a hotspot from your mobile network), and that worked for me.
Mine was due to McAfee firewall.
It is set to Ask mode, so should have popped up a prompt to ask for internet connection, but it didn't!
Going into McAfee and (temporarily!) disabling the firewall allowed me to install.
I've already had the proxies set as described above and it was working until today. Then it turned out that now I need "http://" in front of my proxy address: "http://{proxyURL}:{proxyPort}". Then it finally worked.
Struggled with this issue for some time before figuring it out.
I'm using High Sierra (10.13.6)
Uninstalled and re-installed node and nvm multiple times - using the installer.pkg, HomeBrew, and then using the command line. IMO, the command line works the best.
I followed these steps:
1. Ran npm config ls -l
2. Checked that the value for globalconfig was $<installpath>/.nvm/versions/node/v12.16.3/etc/npmrc But when I tried to get to this path in the Terminal, it gave me No such file or directory
So I
3. created the folder etc, created the npmrc file and added this line in it.
registry = "https://registry.npmjs.org/"
I do not have the ~/.npmrc file in my $HOME
Then
4. I re-ran the npm install command.
Note that this still threw the rollbackFailedOptional: verb npm-session error, but this time it completed, though with a different error.
You could try these steps and see if it works.
For those who are curious, it threw a Response timeout while trying to fetch https://registry.npmjs.org/<package> (over 30000ms) error, so I added the timeout = "60000" to the /etc/npmrc file (as found on another Stackoverflow thread), and tried again. This worked for me.
Hope this helps!
Try this all command answered here to solve the problem https://stackoverflow.com/a/54173142/12142401
if problem persists
Do the following Steps
Completely Uninstall the nodejs checkout this answer for complete uninstallation of nodejs https://stackoverflow.com/a/20711410/12142401
Download the updated nodejs setup from their website
Install it in any drive but not on previously installed drive like if you installed in C drive then install in D,S,G Drive
Run your npm command it will completely work fine
If you use vpm as I do, try turn it off a sec, at least that's my problem
I had same problem.
I deleted files in my Mac
"/usr/local/bin/npm", "/usr/local/bin/node"
and deleted folder
"/usr/local/lib/node_modules"
and then installed the current latest feature version of node. then problem solved.
When downloaded LTS version, it shows the same problem.
So, try installing different versions of node and deleting old one.
Hi,
For people that use yarn package. Just go to the project folder that you are having this issue with. Let's say the project's folder name is chatApp:
cd chatApp
And then if you have already done yarn or yarn install then delete the node_modules folder and run the below command or if you haven't done yarn install, only run the blow command:
yarn cache clean
Once yarn has successfully cleaned the cache, run the below command:
yarn config set registry https://registry.npmjs.org/
That's it, this should fix the issue ✔️.
try this:
delete all file in folder: %APPDATA%\npm-cache\_locks
For Windows:
Run the installer again and choose to 'Repair' the installation
Worked for me
Try this. It worked fine for me
npm install /your_floder_location package_name --registry
http://registry.npmjs.org/
Below is the exact command for me for installing vue-router package in my laravel project (my project name vue_laravel)
aslam004:vue_laravel $ npm install
/var/www/html/projects/vue_laravel vue-router --registry http://registry.npmjs.org/
Good luck
use sudo before your command as
sudo npm install

npm gets stuck on fetchMetadata -> network

My npm is getting stuck a lot, whether its npm install from package.json or individual packages.
Right now, I'm not even able to sudo npm install node-inspector -g
I'm using node 6.2.1, npm 3.9.5 on ubuntu 16.04
npm cache clear didn't help.
The installation takes hours or fails.
Check if there any issues with proxies if you using any.
You can try also to set npm's endpoint manually:
npm config set registry="http://registry.npmjs.org"
try yarn installer instead of npm:
sudo npm install -g yarn
yarn install
I found it much more resilient to such problems.
You'll need to clear your https proxy settings:
npm config rm proxy
npm config rm https-proxy
I had this same problem, with several different installs hanging on fetchMetaData, including the install of yarn mentioned above. I am on a Mac and solved it by updating npm as follows:
npm install npm#latest -g
So if you are encountering this issue on Mac, then try updating and see if it solves your problem.
Did you configured a proxy? See if this returns something:
npm config get https-proxy
npm config get proxy
If you have values configured there, they might not match correct ones. If you shouldn't be using a proxy, you can delete them:
npm config delete https-proxy
npm config delete proxy
Docs: https://docs.npmjs.com/cli/config
For me it was double temp directories in Windows.
Open a command prompt and type:
echo %TEMP%
You should receive path to a single directory. If you receive multiple directories (I received C:\Users\\AppData\Local\Temp;C:\xampp\php) this might be the problem. You can fix it using this command:
SET TEMP="<correct path to temporary directory>"
where <correct path to temporary directory> might be the first path (before semicolon, that means C:\Users\<user>\AppData\Local\Temp in my case).
There are a lot of different things that can cause this issue.
I had tried a lot of things, including most of the answers posted here, but no luck.
For some weird reason, this was my ISP's issue. It worked fine when I tried on a different ISP.
I got the same issue. First of all try to run npm install with -verbose flag. That can help you identify your problem.
That command told me that I had some problem with tunneling socket:
tunneling socket could not be established, cause=write EPROTO 101057795:error:140770FC:SSL routines:SSL 23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:794:
After that I googled the error and found thread on github about that problem. The problem was in proxy: previously I set up HTTP_PROXY environment variable and after removing then environment variable npm install completed without any error.
I had a similar issue to #giridhar but it wasn't related to the proxy, just that my ssh key wasn't setup properly.
When trying to do a git ls-remote from an ssh:// url. I was getting the prompt to enter my passphrase for my ssh key.
I had to run these commands on command line in order to stop getting asked for my pass phrase:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa
Once you enter your pass phrase, then you don't have to enter it again anymore.
I highly recommend reading this wiki from Atlassian if you need to setup an ssh key: https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html
For the major chunk of the people, the issue could be related to proxy settings and can be solved by the above-mentioned solutions.
For me, the issue was something else. I have private repository dependencies which are hosted at Bitbucket and are resolved through "git+ssh://git#bitbucket.org/" which intern uses SSH to retrieve the repo.
SSH by default prefers IPv6 if DNS retrieves AAAA record and if the host has one. Since Bitbucket does have AAAA record, SSH is done over IPv6. But my ISP doesn't support IPv6 (You could check if your ISP support's IPv6 by taking a test in http://ipv6-test.com/).
To solve this, you could force SSH client to use IPv4 instead of IPv6.
Set AddressFamily inet in /etc/ssh/ssh_config and restart SSH client.
On Ubuntu to restart SSH client use sudo service ssh restart
Having same problem. Fixed it by switching to correct version of node required by the project.
My project needed node >=v4.3 and <=v5.
1) Check node version being used by nvm ls
2) Use nvm use [version] or else install the specific version. if you don't have.

Node: npm install failure due to proxy config! What now?

I was trying to run node with the angular.js tutorial application and I found that npm isntall was not behaving itself.
I got a strange little spinning character that seemed to never stop.
I ran npm install -verbose and got the following debug trace:
216 error network tunneling socket could not be established, cause=connect ETIMEDOUT
216 error network This is most likely not a problem with npm itself
216 error network and is related to network connectivity.
216 error network In most cases you are behind a proxy or have bad network settings.
216 error network
216 error network If you are behind a proxy, please make sure that the
216 error network 'proxy' config is set properly. See: 'npm help config'
SO I've identified a problem. I've no idea how to go about fixing it. What do?
Must configure the proxy you are using, in npm.
npm config set proxy http://<proxy-url>:<port>
npm config set https-proxy http://<proxy-url>:<port>
If you don't know proxy url, could get it by registry, in cmd run:
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"
Hope it helps, I faced the same error.
I had a similar problem once and i solved it by :-
npm config set proxy
npm config set registry "http://registry.npmjs.org/"
I am also facing the same error of Proxy settings, first i found this was happening for default browsers settings problems.
npm config set rm proxy http.
npm config set rm https-proxy http.
Then Uninstall your Chrome browser and npm. Make default browser in Edge, then install npm and try the React-cli command.

npm ERR! network getaddrinfo ENOTFOUND

I am getting npm ERR! network getaddrinfo ENOTFOUND error while trying to install any package using NPM. I know there are numerous threads on the same issue but I could not find any thread which can help me.
I have set the proxy & I think its something to do with proxy not being set correctly\not using the correct url.
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
Is there any way to check the URL I am using while setting proxy is correct? Are there any steps I need to take in order rectify this issue?
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
What's more, nrm is recommended for this problem.
I was setting proxy as
npm config set http_proxy=http://domain:8080
instead of using the correct way
npm config set proxy http://domain:8080
Instead of setting the proxy usingnpm config set http_proxy=http://address:8080 go to ~/.npmrc and remove the proxy config. This resolved my issue.
I also faced this error but I was not working behind a proxy server at the moment so using npm config set proxy=http://address:8080 couldn't help and ~/.npmrc didn't contain any proxy setting either. The solution in my case was just to restart my computer.
I got the exact same error and this is what i did.
npm config get proxy
and it returned "null"
Opened "C:\Users\Myname.npmrc" in a notepad and made some changes. This is how my .npmrc file looks now
http-proxy=http://proxyhost/:proxyport
strict-ssl=false
registry=http://registry.npmjs.org/
The solution which worked for me:
Delete proxy: npm config delete proxy
Check npm config get proxy which should return null
Now, check if you are able to install the package. If not working, try manually editing the config, type: npm config edit, remember you are in VI editor.
Add ; before(for commenting out):
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
Save and exit the file :x
Now, try installing the packages. It should work.
does your proxy require you to authenticate? because if it does, you might want you configure your proxy like this.
placeholder names.
username is a placeholder for your actual username.
password is a placeholder for your actual password.
proxy.company.com is a placeholder for your actualy proxy
*port" is your actualy port the proxy goes through. its usualy 8080
npm config set proxy "http://username:password#proxy.company.com:port"
npm config set https-proxy "http://username:password#proxy.company.com:port"
It happens due to proxy errors:
try this in cmd
npm config get proxy
if this is not null, then go to
c/users/computerName/.npmrc
open this in notepad
now clear the proxy line completely
try the above cmd
if it is null
then install angular
npm i -g #angular/cli
I had this issue in my Arch Linux distro with npm 14.3.0 (w/ npm 6.14.5). I simply deleted the ~/.npm directory and tried again and this time it worked.
For me removing the ~/Users/.npmrc from the folder helped.
I had incorrectly typed in the address as
http://addressOfProxy.8080
instead of
http://addressOfProxy:8080
(Notice the colon before the port number 8080.)
First I check whether proxy is set for me or not using this :
npm config get proxy
It returned null then I run this command
npm config set strict-ssl=false
It disable strict-ssl for that cmd session.
You can see complete list of config using this
npm config list ls -l
Step 1: Set the proxy
npm set proxy http://username:password#companyProxy:8080
npm set https-proxy http://username:password#companyProxy:8080
npm config set strict-ssl false -g
NOTES: No special characters in password except # allowed.
for some reason my error kept pointing to the "proxy" property in the config file. Which was misleading. During my troubleshooting I was trying different values for the proxy and https-proxy properties, but would only get the error stating to make sure the proxy config was set properly, and pointing to an older value.
Using, NPM CONFIG LS -L command lists all the properties and values in the config file. I was then able to see the value in question was matching the https-proxy, therefore using the https-proxy. So I changed the proxy (my company uses different ones) and then it worked. figured I would add this, as with these subtle confusing errors, every perspective on it helps.
Just unset the proxy host using :
unset HOST
This worked for me.
Make sure to use the latest npm version while installing packages using npm.
While installing JavaScript, mention the latest version of NodeJS. For example, while installing JavaScript using devtools, use the below code:
devtools i --javascript nodejs:10.15.1
This will download and install the mentioned NodeJS version. Try installing the packages with npm after updating the version. This worked for me.
Take a look at your HTTP_PROXY and HTTPS_PROXY environment variables.
I thought mine were set correctly, as http://username:password#proxyhost:proxyport, but it turned out that they were actually causing the problem! After deleting those variables, and restarting the commant prompt, the npm commands worked again.
Well, everybody giving their answer so I thought I write too.
I am having the same proxy issue as all others. To solve this I tried many solutions but it did not work.
Search .npmrc file name in C:\Users\your_username drive and than add this line:
http://proxy.company.com:8888
I did only this and my is solved.
Step 1: Check whether proxy is set for you or not
npm config get proxy
Step 2: If it returned null and you also don't want any proxy, go to ~/Users/.npmrc
Open the file and make sure it has the following written:
registry=http://registry.npmjs.org/
Disable strict-ssl for cmd session
npm config set strict-ssl=false
Try to npm install now
P.S Now if get proxy didn't return null check if the proxy is correct or else set it with
npm config set proxy http://proxy.example.com:6500
in my case, the error was I wasn't being consistent in usage of package manager, previously I installed my all packages with yarn and now I was using npm to install moment-timezone package and was facing this error, when I tried to install the package with yarn it was done successfully with command yarn add moment-timezone
Had the same issue but non of the above help then I tried this:
ipconfig /flushdns
ipconfig /renew
After that everything worked as expected.
I hope it helps you guys
The solution which worked for me:
Delete proxy: npm config delete proxy. Also npm config delete https-proxy
Check
npm config get proxy
npm config get https-proxy
This should return null
Now, check if you are able to install the package.
I use WSL with Ubuntu distro. Had the same issue and none of the above solutions worked.
Ran the following command, then everything started working,
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
For me, my wifi network settings had DNS set to 8.8.8.8 I just removed that and ran npm i again and it worked!
go to the directory C:\Users\username and delete the npmrc file
this solved my issue
I was having some proxy configuration in my {$HOME}/.npmrc file.
Clearing it helped.
If your proxy config is fine, sometimes the problem can be a deprecated package-lock.json file, therefore it redirects to a non-existing artifactory, npm registry.
Try to delete the package-lock.json and try npm i again.
strict-ssl=false
proxy = http://ip_address_of_proxy:8088
https-proxy = https://ip_address_of_proxy:8088
registry = http://registry.npmjs.org/
This solution worked for me:
npm set https-proxy http://username:Password#proxyhost/:proxyport
npm config set strict-ssl false -g
Try to install now (e.g. npm i tailwind -g)

npm install hangs

This is my package.json:
{
"name": "my-example-app",
"version": "0.1.0",
"dependencies": {
"request": "*",
"nano": "3.3.x",
"async": "~0.2"
}
}
Now, when I open the cmd and run npm install, the install hangs. What am I doing wrong?
I had the same problem. The reason - wrong proxy was configured and because of that npm was unable to download packages.
So your best bet is to the see the output of
$ npm install --verbose
and identify the problem. If you have never configured proxy, then possible causes can be
Very outdated npm version.
Some problem with your internet connection.
Permissions are not sufficient for npm to modify files.
I was having the same problem. I tried a
npm config set registry http://registry.npmjs.org/
to turn off https. I also tried
npm set progress=false
to turn off the progress bar (it has been reported to slow down downloads).
The problem was with my network driver. I just needed to reboot and the lag went away.
You can try deleting package-lock.json and running npm install afterwards.
This worked for me.
I had the same issue on macOS, after some time struggling and searching around, this answer actually solved the issue for me:
npm config rm proxy
npm config rm https-proxy
npm config set registry http://registry.npmjs.org/
On MacOS, I was able to solve this by
networksetup -setv6off Wi-Fi
After installing, you can revert to the original configuration with
networksetup -setv6automatic Wi-Fi
Updating npm helped me on Mac OS. Use the command:
sudo npm install -g npm#latest
I am behind a corporate proxy, so I usually use an intermediate proxy to enable NTLM authentication.
I had hangs problem with npm install when using CNTLM proxy. With NTLM-APS (a similar proxy) the hangs were gone.
npm cache clear --force has fixed this issue for me in the past.
Furthermore, when running npm install on an air-gapped network (by the way, I provide a description about how to do this with Verdaccio), I had an issue where the install would hang at the very end. Turning off auditing (i.e. npm set audit false) on the machine on the air-gapped network resolved this issue.
While your mileage may vary, running npm cache verify fixed the issue for me.
It was strange but I guess I was just being impatient ran -> npm install --verbose and saw there was progress but it was just really slow!!! All I needed was patience :D
When your ssh key is password protected run ssh-add. npm probably hangs somewhere asking for your password.
Remove node_modules & package-lock.json from previous npm install and install again
rm -rf node_modules package-lock.json
npm install
or
If npm install loader is stuck and then pops up with..
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! request to https://registry.npmjs.org/jest failed, reason: unable to get local issuer certificate"
then,
npm config set strict-ssl false
npm install
or
Follow to uninstall Node.js and install properly
https://www.geeksforgeeks.org/how-to-completely-remove-node-js-from-windows/
https://coding-boot-camp.github.io/full-stack/nodejs/how-to-install-nodejs
I personally had this issue and did all the steps I listed above. My issue was fixed with npm config set strict-ssl false
The registry(https://registry.npmjs.org/cordova) was blocked by our firewall. Unblocking it fixed the issue.
With due respect to all the answers, I switched to a different network and it worked for me.
Surprisingly just restarting my computer and running npm install again worked for me
Incase its useful to others, the following is what worked for me:
On my machine, although npm proxy was set correctly, npm install waits forever doing something like sill extract. Re-trying npm install waits forever on the same package again and again.
After waiting for a long timeout, npm install printed an error message implying that git was trying to fetch something.
The problem vanished after configuring git proxy using the below command:
git config --global http.proxy https://proxy-server:port
Note the https in the value of http.proxy without which the configuration did not take effect. Proxy server settings (http / https / port) might vary for users; hence its worth spending a bit of time experimenting with npm and git proxy server settings.
This method is working for me when npm blocks in installation Package for IONIC installation and ReactNative and another package npm.
You can change temporary:
npm config set prefix C:\Users\[username]\AppData\Roaming\npm\node_modules2
Change the path in environment variables. Set:
C:\Users[username]\AppData\Roaming\npm\node_modules2
Run the command to install your package.
Open file explorer, copy the link:
C:\Users[username]\AppData\Roaming\npm\node_modules
ok file yourpackage.CMD created another folder Created "node_modules2" in node_modules and contain your package folder.
Copy your package file CMD to parent folder "npm".
Copy your package folder to parent folder "node_modules".
Now run:
npm config set prefix C:\Users\[username]\AppData\Roaming\npm
Change the path in environment variables. Set:
C:\Users[username]\AppData\Roaming\npm
Now the package is working correctly with the command line.
I'm not sure if your problem is being caused by the same reason that mine was, but I too was experiencing a hanging "npm install" and was able to fix it.
In my case, I wanted to install typescript locally in the project:
npm i typescript --save-dev
For some reason this was conflicting with a global install of typescript that I had, and the shell was just hanging forever instead of finishing or erroring...
I fixing it by first removing the globally installed typescript with the -g global flag:
npm uninstall typescript -g
After doing this the first command worked! 👍
I had npm hanging on installation of electronjs on Windows 10. I reinstalled and still it was hanging. But I noticed it got installed on another desktop in the same network. So finally I found the culprit. The issue was caused by Bitdefender free edition. There was no warning by the antivirus but it was blocking it silently. Even the console was not closing once the installation starts as it kept hanging. Disable antivirus/firewall if its on Windows and make sure network is open as npm does not seem to have a proper way of communicating network blocks and will keep proceeding indefinitely.
I've hit this problem a couple times.
When I was on VPN, I pressed Ctrl-C and disconnected from the VPN. Then npm install worked.
When I wasn't on VPN, I pressed Ctrl-C and connected to the VPN. Then, again, npm install worked.
For anyone on MacOS (I'm on Mojave 10.14), the following helped me out:
https://github.com/reactioncommerce/reaction/issues/1938#issuecomment-284207213
You'd run these commands
echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.conf
echo kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.conf
sudo sysctl -w kern.maxfiles=65536
sudo sysctl -w kern.maxfilesperproc=65536
ulimit -n 65536
Then try npm install once more.
check your environment variables for http and https
The existing entries might be creating some issues. Try deleting those entries.
Run "npm install" again.
I just turn off my windows firewall and it worked for me.
You can also try different versions of npm.
Check your .npmrc file for a registry entry (which identifies a server acting as a package cache.)
For me, npm install would hang partway through, and it was because of a old / non-responsive server listed in my .npmrc file. Remove the line or comment it out:
>cat ~/.npmrc
#registry=http://oldserver:4873
(And/or check with your IT / project lead as to why it's not working ;)
install nvm (Node Version Manager) and downgrade node version from 14 to 12 solved the issue in my case
Uninstalling and installing node and npm worked for me. I'm using Ubuntu 20.04.1 LTS
In my case npm install was hanging because it was waiting for me to input a password to my ssh key while cloning from git repository. There was no prompt and I realized this might be the case when I typed random character and nothing was echoed back. In my case I had to look at package.json file and clone locally repositories listed there. Then I updated package.json and changed paths of those git repositories to my local paths. After doing this everything else was installed without further errors.
On windows i suddenly had the same issue and tried all of the above, but the final solution for me was to switch off the ransomware protection which I had activated. It somehow doesn´t go well along with npm
I was having this error because I was running npm in a (docker) container in WSL2, and docker in WSL2 was configuring the wrong nameservers in the containers, making the container unable to resolve hosts.
To see if your container (or even your host) can resolve hosts, you can try running: curl https://github.com. In my case I received curl: (6) Could not resolve host: github.com.
The error in the docker container doesn't happen if I don't use the default bridge, instead I used a custom bridge and defined the container with it, in which case the resolv.conf file ends up with the correct nameserver:
$ cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0
The ip 127.0.0.11 corresponds to the docker DNS server, solving the problem in my case.
If you aren't running npm in a container, your issue may still be related to some misconfigured resolv.conf file (if you are in a Linux machine, or in Windows with WSL/WSL2).
In case anyone else encounters this, I left the npm install to run for long enough, and then the Jest extension crashed (v4.2.1), at which point the npm install completed successfully.
The Jest configuration seems to show that a test auto-watch feature was enabled. I haven't changed any Jest settings as far as I'm aware, so this must be out-of-the-box functionality.

Resources