这是我的 package.json:
package.json
{ "name": "my-example-app", "version": "0.1.0", "dependencies": { "request": "*", "nano": "3.3.x", "async": "~0.2" } }
现在,当我打开 cmd 并运行 npm install时,安装挂起。我做错了什么?
npm install
试试 sudo npm install * 。
sudo npm install
* 如果你正在使用 github,那么它可能是你没有权限,需要生成一个公共 SSH 密钥并将其添加到你的设置帐户: (https://help.github.com/articles/generating-ssh-keys/)
我也有同样的问题。因为配置了错误的代理,所以 npm 无法下载软件包。
因此,最好的办法是查看
$ npm install --verbose
并识别问题。如果您从未配置代理,那么可能的原因可能是
我支持公司代理,因此我通常使用中间代理来启用 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和 饭桶代理服务器设置是值得的。
http.proxy
https
您可以尝试删除 package-lock.json,然后运行 npm install。 这招对我很管用。
package-lock.json
当 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 可能挂在某个地方要求输入密码。
ssh-add
虽然你的英里数可能会有所不同,运行 npm cache verify为我解决了这个问题。
npm cache verify
检查 .npmrc文件中的 registry条目(它标识充当包缓存的服务器)
.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 有帮助。使用以下命令:
npm
sudo npm install -g npm@latest
卸载和安装 node和 npm对我来说很有用。我使用的是 Ubuntu 20.04.1 LTS
node
在我的例子中,npm install挂起是因为它正在等待我在从 git 存储库克隆时将密码输入到 ssh 密钥中。没有提示符,当我输入随机字符时,没有任何回音,我意识到可能是这种情况。在我的例子中,我必须查看 package.json文件并克隆那里列出的本地存储库。然后,我更新了 package.json,并将这些 git 存储库的路径更改为我的本地路径。这样做之后,其他所有东西都安装好了,没有出现进一步的错误。
在 Windows10上安装电子设备时,我有 npm 挂起。我重新安装了,但它还挂着。但我注意到它被安装在同一网络的另一台桌面上。所以我终于找到了罪魁祸首。这个问题是由比特卫士免费版引起的。杀毒软件没有发出任何警告,但它却悄无声息地屏蔽了它。即使是控制台在安装开始后也没有关闭,因为它一直挂着。禁用反病毒/防火墙,如果它在 Windows 上,并确保网络是打开的,因为 npm 似乎没有一个正确的方式来通信网络块,并将继续无限期地进行。
出于对所有答案的尊重,我换了一个不同的网络,它对我很有效。
在 Windows 上,我突然遇到了同样的问题,并尝试了以上所有方法,但最终的解决方案是关闭我已经激活的勒索软件保护。不知道为什么,它和 npm 的关系不太好
这很奇怪,但我想我只是不耐烦了运行-> npm 安装-详细,看到有进展,但它只是真的很慢! ! !我所需要的只是耐心
这个问题我遇到过几次。
在 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。
curl https://github.com
curl: (6) Could not resolve host: github.com
如果我没有使用默认桥接器,那么 docker 容器中的错误就不会发生,相反,我使用了一个自定义桥接器,并用它定义了容器,在这种情况下,resolv.conf文件最终得到了正确的名称服务器:
resolv.conf
$ cat /etc/resolv.conf nameserver 127.0.0.11 options ndots:0
Ip 127.0.0.11对应于 Docker DNS 服务器,解决了我的问题。
127.0.0.11
如果您没有在容器中运行 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失败,原因: 无法获得本地颁发证书
代码 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 config set strict-ssl false
如果其他人遇到这种情况,我让 npm 安装运行足够长的时间,然后 Jest 扩展崩溃(v4.2.1) ,这时 npm 安装成功完成。
Jest 配置似乎表明启用了一个测试自动监视特性。据我所知,我还没有更改任何 Jest 设置,所以这一定是开箱即用的功能。
npm cache clear --force过去为我解决了这个问题。
npm cache clear --force
此外,当在气隙网络(顺便说一下,我提供了如何与 Verdaccio 这样做的描述)上运行 npm install时,我遇到了一个问题,安装会挂在最后。关闭气隙网络上机器上的审计(即 npm set audit false)解决了这个问题。
npm set audit false
我在安装 vue 工具的遗留版本(4.1.5)时遇到了同样的问题。
把 node降级到 node 10对我来说很管用。
node 10
当我试图安装最新版本的 response-router-dom 时,我的服务器挂起来了,我只是停止了服务器的运行,然后尝试安装,它工作了。
对我来说,打电话给 具体化的时候天气很冷。
我把16号节点降级到14号节点一切正常。
令人惊讶的是,只要重新启动我的计算机并再次运行 npm install就可以了