120

这是我的package.json

{
"name": "my-example-app",
"version": "0.1.0",
"dependencies": {

  "request": "*",
  "nano": "3.3.x",
  "async": "~0.2"
  }
}

现在,当我打开 cmd 并运行npm install时,安装挂起。我究竟做错了什么?

4

30 回答 30

164

我有同样的问题。原因 - 配置了错误的代理,因此 npm 无法下载包。

所以你最好的选择是查看输出

$ npm install --verbose

并找出问题所在。如果您从未配置过代理,则可能的原因可能是

  • 非常过时的 npm 版本。
  • 您的互联网连接有问题。
  • 权限不足以让 npm 修改文件。
于 2015-05-21T12:13:49.853 回答
47

我遇到了同样的问题。我试过一个

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

关闭 https。我也试过

npm set progress=false 

关闭进度条(据报道会减慢下载速度)。

问题出在我的网络驱动程序上。我只需要重新启动,滞后就消失了。

于 2016-09-07T17:39:32.417 回答
35

您可以尝试删除package-lock.json并在npm install之后运行。这对我有用。

于 2019-03-09T14:57:06.880 回答
9

我在 macOS 上遇到了同样的问题,经过一段时间的挣扎和搜索,这个答案实际上为我解决了这个问题:

npm config rm proxy
npm config rm https-proxy
npm config set registry http://registry.npmjs.org/
于 2020-08-22T09:24:01.360 回答
7

我在公司代理后面,所以我通常使用中间代理来启用 NTLM 身份验证。

使用 CNTLM 代理时,我遇到了 npm install 挂起的问题。使用 NTLM-APS(一个类似的代理),挂起就消失了。

于 2015-08-03T22:00:01.007 回答
6

npm在 Mac OS 上更新帮助了我。使用命令:

sudo npm install -g npm@latest
于 2020-12-20T02:50:10.043 回答
4

当您的 ssh 密钥受密码保护时,请运行ssh-add。npm 可能挂在某处询问您的密码。

于 2020-05-09T09:01:37.637 回答
4

虽然您的里程可能会有所不同,但跑步npm cache verify为我解决了这个问题。

于 2020-05-11T12:58:34.157 回答
2

在 MacOS 上,我可以通过

networksetup -setv6off Wi-Fi

安装后,您可以使用以下命令恢复原始配置

networksetup -setv6automatic Wi-Fi
于 2021-11-06T20:44:03.153 回答
2

在充分尊重所有答案的情况下,我切换到了不同的网络,它对我有用。

于 2021-05-23T07:44:41.987 回答
2

这很奇怪,但我想我只是不耐烦地跑了 -> npm install --verbose 并看到了进展,但它真的很慢!!!我需要的只是耐心:D

于 2021-08-19T17:44:56.640 回答
2

如果它对其他人有用,以下对我有用:

在我的机器上,虽然 npm 代理设置正确,但npm install会永远等待做类似 sill extract的事情。重新尝试npm install一次又一次地等待同一个包。

在等待很长的超时后,npm install打印出一条错误消息,暗示git正在尝试获取某些东西。

使用以下命令配置git proxy后问题消失:

git config --global http.proxy https://proxy-server:port

注意配置不生效httpshttp.proxy代理服务器设置(http / https / 端口)可能因用户而异;因此,值得花一些时间尝试npmgit代理服务器设置。

于 2018-11-12T05:37:10.713 回答
2

注册表 ( https://registry.npmjs.org/cordova ) 被我们的防火墙阻止。取消阻止它解决了这个问题。

于 2017-01-11T10:16:23.283 回答
1

当安装 IONIC 安装包和 ReactNative 以及另一个包 npm 中的 npm 阻塞时,此方法对我有用。

您可以临时更改:

npm config set prefix C:\Users\[username]\AppData\Roaming\npm\node_modules2

  • 更改环境变量中的路径。放:

    C:\Users[用户名]\AppData\Roaming\npm\node_modules2

  • 运行命令来安装你的包。

  • 打开文件资源管理器,复制链接:

    C:\Users[用户名]\AppData\Roaming\npm\node_modules

    ok 文件 yourpackage.CMD 创建了另一个文件夹 在 node_modules 中创建了“node_modules2”并包含您的包文件夹。

  • 将你的包文件 CMD 复制到父文件夹"npm"

  • 将您的包文件夹复制到父文件夹"node_modules"

  • 现在运行:

    npm config set prefix C:\Users\[username]\AppData\Roaming\npm

  • 更改环境变量中的路径。放:

    C:\Users[用户名]\AppData\Roaming\npm

现在该软件包可以在命令行中正常工作。

于 2019-03-26T23:11:30.420 回答
1

我不确定您的问题是否与我的问题相同,但我也遇到了挂起的“npm install”并且能够修复它。

就我而言,我想在项目中本地安装打字稿:

npm i typescript --save-dev

出于某种原因,这与我拥有的全局安装的打字稿相冲突,并且外壳只是永远挂起而不是完成或出错......

我通过首先使用 -g 全局标志删除全局安装的打字稿来修复它:

npm uninstall typescript -g

完成此操作后,第一个命令起作用了!

于 2019-10-12T19:30:42.790 回答
1

从以前的 npm install 中删除 node_modules & package-lock.json 并再次安装

rm -rf node_modules package-lock.json
npm install

或者

如果 npm install loader 卡住,然后弹出..

npm 错误!代码 UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm 错误!错误号 UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm 错误!对https://registry.npmjs.org/jest的请求失败,原因:无法获取本地颁发者证书”

然后,

npm config set strict-ssl false
npm install

或者

按照卸载 Node.js 并正确安装

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

我个人遇到了这个问题,并完成了我上面列出的所有步骤。我的问题已解决npm config set strict-ssl false

于 2022-01-11T05:44:23.080 回答
1

我在 Windows 10 上安装 electronjs 时挂起了 npm。我重新安装了它,但它仍然挂起。但我注意到它安装在同一网络中的另一个桌面上。所以最后我找到了罪魁祸首。该问题是由 Bitdefender 免费版引起的。防病毒软件没有警告,但它默默地阻止了它。一旦安装开始,即使控制台也没有关闭,因为它一直挂着。如果它在 Windows 上,请禁用防病毒/防火墙并确保网络是打开的,因为 npm 似乎没有适当的方式来通信网络块并且将无限期地继续进行。

于 2021-05-18T11:40:59.883 回答
0

npm cache clear --force为我解决了这个问题。

于 2022-02-08T15:16:54.163 回答
0

我遇到过这个问题几次。

  1. 当我使用 VPN 时,我按下 Ctrl-C 并断开与 VPN 的连接。然后npm install工作了。
  2. 当我不在 VPN 上时,我按下 Ctrl-C 并连接到 VPN。然后,再次,npm install工作。
于 2021-11-04T22:44:05.750 回答
0

对于 MacOS 上的任何人(我在 Mojave 10.14 上),以下内容帮助了我: https ://github.com/reactioncommerce/reaction/issues/1938#issuecomment-284207213

你会运行这些命令

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

然后再试npm install一次。

于 2019-08-29T08:11:54.453 回答
0

万一其他人遇到这种情况,我让 npm install 运行足够长的时间,然后 Jest 扩展崩溃(v4.2.1),此时 npm install 成功完成。

Jest 配置似乎显示启用了测试自动监视功能。据我所知,我没有更改任何 Jest 设置,所以这必须是开箱即用的功能。

于 2022-01-27T18:22:20.617 回答
0

检查您的.npmrc文件中的registry条目(它标识充当包缓存的服务器。)

对我来说,npm install会中途挂掉,这是因为我的.npmrc文件中列出了旧的/无响应的服务器。删除该行或将其注释掉:

>cat ~/.npmrc
#registry=http://oldserver:4873

(和/或与您的 IT / 项目负责人核实它为什么不起作用;)

于 2020-08-05T23:46:38.913 回答
0

在我的情况下npm install挂起,因为它正在等待我在从 git 存储库克隆时输入我的 ssh 密钥的密码。没有提示,我意识到当我输入随机字符并且没​​有回显时可能就是这种情况。就我而言,我必须查看package.json文件并克隆那里列出的本地存储库。然后我将package.json这些 git 存储库的路径更新并更改为我的本地路径。完成此操作后,其他所有内容均已安装,没有进一步错误。

于 2021-03-09T18:39:36.413 回答
0

卸载和安装nodenpm为我工作。我正在使用 Ubuntu 20.04.1 LTS

于 2021-03-02T13:20:53.623 回答
0

检查 http 和 https 的环境变量

现有条目可能会产生一些问题。尝试删除这些条目。

再次运行“npm install”。

于 2020-03-20T08:03:18.817 回答
0

我遇到此错误是因为我在 WSL2 的(docker)容器中运行 npm,而 WSL2 中的 docker 在容器中配置了错误的名称服务器,导致容器无法解析主机。

要查看您的容器(甚至您的主机)是否可以解析主机,您可以尝试运行:curl https://github.com. 就我而言,我收到了curl: (6) Could not resolve host: github.com.

如果我不使用默认网桥,则不会发生 docker 容器中的错误,而是使用自定义网桥并用它定义容器,在这种情况下,resolv.conf文件以正确的名称服务器结束:

$ cat /etc/resolv.conf 
nameserver 127.0.0.11
options ndots:0

ip127.0.0.11对应docker DNS服务器,解决了我的问题。

如果您没有在容器中运行 npm,您的问题可能仍然与某些配置错误resolv.conf的文件有关(如果您在 Linux 机器中,或者在带有 WSL/WSL2 的 Windows 中)。

于 2021-12-01T13:41:13.817 回答
0

安装 nvm(节点版本管理器)并将节点版本从 14 降级到 12 解决了我的问题

于 2020-08-25T09:19:22.417 回答
0

我只是关闭了我的 Windows 防火墙,它对我有用。你也可以尝试不同版本的 npm。

于 2020-05-05T04:46:16.890 回答
0

在 Windows 上,我突然遇到了同样的问题并尝试了以上所有方法,但对我来说最终的解决方案是关闭我已激活的勒索软件保护。不知何故,它与 npm 不兼容在此处输入图像描述

于 2021-06-04T07:57:32.007 回答
-36

*尝试做sudo npm install

*如果您使用的是 github,则可能是您没有权限,需要生成一个公共 SSH 密钥并将其添加到您的设置帐户:( https://help.github.com/articles/generating-ssh-键/ )

于 2014-12-08T21:15:30.557 回答