npm install gets stuck at fetchMetadata

2020-02-26 05:40发布

I'm currently unable to run npm install in any project since today. I'm running node v8.2.1 & npm 5.3.0 (installed via nvm).

When typing npm install it gets stuck on fetchMetadata everytime: ⸨ ░░░░░░░░░░░░░░░░⸩ ⠧ fetchMetadata: sill pacote range manifest for longest@^1.0.1 fetched in 197ms

I've tried switching back to npm 5.0.3 which worked flawless, but still get stuck.

Details to my computer: MacBook Pro running macOS 10.12.6

标签: node.js npm
10条回答
欢心
2楼-- · 2020-02-26 06:00
  1. REASON: the reason for this is: the cli do not prompt: "Enter passphrase for /home/USERS/.ssh/id_rsa:" and I used to get the prompt correctly in npm@5, but update to npm@6, it occurs.
  2. SOLVE: # eval `ssh-agent` # ssh-add //automaticlly enter passphrase, without maunally operating.
查看更多
乱世女痞
3楼-- · 2020-02-26 06:01

Adding to @CptUnlucky's answer.

npm config set registry "http://registry.npmjs.org"

This forces the http fetch. If this alone doesn't work, throttle the number of simultaneous connections that can be established. Default Max connections is 50.

npm set maxsockets 3

That worked for me.

查看更多
何必那么认真
4楼-- · 2020-02-26 06:02

You can try by setting the configuration to:

 npm config set registry

It works for me

查看更多
Root(大扎)
5楼-- · 2020-02-26 06:06

In my case removing packge connected to the one that loads forever solve issue

    "swagger-core-api": "apigee-127/swagger-core-api" //removing this 

But the real reason of similar problems is project without full git data pushed to github(due to mess in .gitconfig). Then github clone copy files that not match one in repository (or Download ZIP).

查看更多
霸刀☆藐视天下
6楼-- · 2020-02-26 06:08

The question is quite old but I've fallen into this scenario these days.

I tried every suggestion I read to solve the problem related to the npm installation process (npm cache clear and verify, uninstall and reinstall the package, uninstall and install everything and so on...) that looks like the "locked-in" syndrome. Nothing was successful in my case.

Once I found that my network was fully up and running without any firewall, proxy and/or strange routing rules I started installing packages with (example for the cli) npm install -g @angular/cli --verbose and I discovered that all the connections to the URL registry.npmjs.org were done in https. This was the problem in my case.

For an unknown reason npm fails in a not very clear condition during the connection with the remote server, without any network error or warning. Simply it takes an huge amount of time to retrieve the data. Permissions? SSL certificates or some specific checking on it? Some strange route on the net?

At the moment are just a speculations. I left the computer running all night and the packages were installed correctly but this is crazy. Isn't it?

After switching the connections to http with the command npm config set registry http://registry.npmjs.org/ --global everything has worked fine in a reasonable time for the installation packages process.

Probably there is something more that I'm missing but in my case the plain http has resolved the problem.

Ubuntu 18.04.1 LTS / node v8.12.0 / npm 6.4.1 / nvm 0.33.11

查看更多
叼着烟拽天下
7楼-- · 2020-02-26 06:11

I solve this issue by opening the package-lock.json and reset all the json. Delete the current content and replace it with

{}

then reinstall the package.

查看更多
登录 后发表回答