Npm 安装挂起

这是我的 package.json:

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


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

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

269882 次浏览

试试 sudo npm install * 。

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

我也有同样的问题。因为配置了错误的代理,所以 npm 无法下载软件包。

因此,最好的办法是查看

$ npm install --verbose

并识别问题。如果您从未配置代理,那么可能的原因可能是

  • 非常过时的 npm 版本。
  • 你的网络连接出了点问题。
  • 对于 npm 来说,权限不足以修改文件。

我支持公司代理,因此我通常使用中间代理来启用 NTLM 身份验证。

我在使用 CNTLM 代理时遇到了 npm 安装挂起的问题。

我也有同样的问题

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

关闭 https。我也试过

npm set progress=false

关闭进度条(据报道它会降低下载速度)。

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

注册表(https://registry.npmjs.org/cordova)被我们的防火墙阻塞。解除阻塞修复了这个问题。

如果它对其他人有用的话,下面是对我有用的:

在我的机器上,尽管正确设置了 npm 代理,但是 npm install永远在等待,执行类似于 提取物的操作。重试 npm install会一次又一次地永远等待同一个包。

在等待了很长时间超时之后,npm install打印了一条错误消息,暗示 饭桶正在尝试获取某些东西。

使用以下命令配置 饭桶代理后,问题消失了:

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

请注意 http.proxy价值中的 https,如果没有它,配置就不会生效。代理服务器设置(http/https/port)可能因用户而异; 因此花一点时间试验 Npm饭桶代理服务器设置是值得的。

您可以尝试删除 package-lock.json,然后运行 npm install。 这招对我很管用。

当 npm 在 IONIC 安装包和 ReactNativePackage 以及另一个 npm 安装包中阻塞时,这种方法对我来说是有效的。

你可以暂时改变:

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

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

    C: Users [ username ] AppData Roaming npm node _ modules2

  • 运行命令安装包。

  • 打开文件浏览器,复制链接:

    C: Users [ username ] AppData Roaming npm node _ module

    Ok file yourpackage.CMD 创建另一个文件夹在 node _ module 中创建“ node _ modules2”并包含您的包文件夹。

  • 将包文件 CMD 复制到父文件夹 “ npm”

  • 将包文件夹复制到父文件夹 “ node _ module”

  • 快跑:

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

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

    C: 用户[用户名] AppData 漫游 npm

现在,包正在使用命令行正常工作。

对于任何使用 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

我不确定您的问题是否与我的问题是由同样的原因引起的,但我也遇到了一个挂起的“ npm 安装”,并能够修复它。

在我的例子中,我想在项目中本地安装打印脚本:

npm i typescript --save-dev

由于某些原因,这与我的全局安装打字脚本相冲突,而且 shell 永远挂起,而不是完成或出错..。

我首先用 -g 全局标志删除全局安装的打印脚本来修复它:

npm uninstall typescript -g

这样做之后,第一个命令起作用了!

检查环境变量中的 http 和 https

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

再次运行“ npm install”。

我只要关掉 Windows 防火墙就行了。 您还可以尝试不同版本的 npm。

当 ssh 密钥受到密码保护时,运行 ssh-add.npm 可能挂在某个地方要求输入密码。

虽然你的英里数可能会有所不同,运行 npm cache verify为我解决了这个问题。

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

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

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

(和/或向你的 IT/项目主管查询为什么它不能工作;)

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

npm config rm proxy
npm config rm https-proxy
npm config set registry http://registry.npmjs.org/

在我的例子中,安装 nvm (Node Version Manager)并将节点版本从14降级到12解决了这个问题

更新 npm对我的 Mac OS 有帮助。使用以下命令:

sudo npm install -g npm@latest

卸载和安装 nodenpm对我来说很有用。我使用的是 Ubuntu 20.04.1 LTS

在我的例子中,npm install挂起是因为它正在等待我在从 git 存储库克隆时将密码输入到 ssh 密钥中。没有提示符,当我输入随机字符时,没有任何回音,我意识到可能是这种情况。在我的例子中,我必须查看 package.json文件并克隆那里列出的本地存储库。然后,我更新了 package.json,并将这些 git 存储库的路径更改为我的本地路径。这样做之后,其他所有东西都安装好了,没有出现进一步的错误。

在 Windows10上安装电子设备时,我有 npm 挂起。我重新安装了,但它还挂着。但我注意到它被安装在同一网络的另一台桌面上。所以我终于找到了罪魁祸首。这个问题是由比特卫士免费版引起的。杀毒软件没有发出任何警告,但它却悄无声息地屏蔽了它。即使是控制台在安装开始后也没有关闭,因为它一直挂着。禁用反病毒/防火墙,如果它在 Windows 上,并确保网络是打开的,因为 npm 似乎没有一个正确的方式来通信网络块,并将继续无限期地进行。

出于对所有答案的尊重,我换了一个不同的网络,它对我很有效。

在 Windows 上,我突然遇到了同样的问题,并尝试了以上所有方法,但最终的解决方案是关闭我已经激活的勒索软件保护。不知道为什么,它和 npm 的关系不太好enter image description here

这很奇怪,但我想我只是不耐烦了运行-> npm 安装-详细,看到有进展,但它只是真的很慢! ! !我所需要的只是耐心

这个问题我遇到过几次。

  1. 当我使用 VPN 的时候,我按下 Ctrl-C,然后断开 VPN,然后 npm install就可以工作了。
  2. 当我不使用 VPN 时,我按下 Ctrl-C 并连接到 VPN。然后,npm install再次工作。

在 MacOS 上,我能解决这个问题

networksetup -setv6off Wi-Fi

安装之后,您可以使用

networksetup -setv6automatic Wi-Fi

之所以出现这个错误,是因为我在 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

Ip 127.0.0.11对应于 Docker DNS 服务器,解决了我的问题。

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

从以前的 npm 中删除 node _ module 和 package-lock. json,然后重新安装

rm -rf node_modules package-lock.json
npm install

或者

如果 npm 安装加载程序卡住,然后弹出与. 。

代码 UNABLE _ TO _ GET _ ISSUER _ CERT _ LOCLY

Npm ERR! errno UNABLE _ TO _ GET _ ISSUER _ CERT _ LOCALLY

请求 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固定

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

Jest 配置似乎表明启用了一个测试自动监视特性。据我所知,我还没有更改任何 Jest 设置,所以这一定是开箱即用的功能。

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

此外,当在气隙网络(顺便说一下,我提供了如何与 Verdaccio 这样做的描述)上运行 npm install时,我遇到了一个问题,安装会挂在最后。关闭气隙网络上机器上的审计(即 npm set audit false)解决了这个问题。

我在安装 vue 工具的遗留版本(4.1.5)时遇到了同样的问题。

node降级到 node 10对我来说很管用。

当我试图安装最新版本的 response-router-dom 时,我的服务器挂起来了,我只是停止了服务器的运行,然后尝试安装,它工作了。

对我来说,打电话给 具体化的时候天气很冷。

我把16号节点降级到14号节点一切正常。

令人惊讶的是,只要重新启动我的计算机并再次运行 npm install就可以了