Yarn - 似乎您的网络连接出现了问题。正在重试。

231

我一直在尝试做React Native的快速入门指南,但总是遇到这个错误

There appears to be trouble with your network connection. Retrying...

我的连接运作正常。


我在创建一个新的Vuejs项目时遇到了这个错误。我的网络速度是4mb/s,我没有使用任何代理。问题出在Vuejs使用了另一个非常慢的注册表taobao.org。我只需从我的主文件夹中删除.vuerc文件,并确保当Vuejs提示使用taobao.org注册表时选择“否”。 - user3502626
在我的情况下,尽管传递了 --network-timeout 100000,关闭了Windows Defender,清除了代理设置,禁用了IPv6,并运行了 yarn cache clean --force,但我仍然会收到 "There appears to be trouble with your network connection. Retrying..." 几次后跟着 error An unexpected error occurred: "https://registry.yarnpkg.com/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.57.tgz: read ECONNRESET" 的错误提示,尽管我可以将此链接复制/粘贴到Web浏览器中并快速下载而没有任何问题。npm install也可以正常工作... - jacobq
1
对我来说,问题出在yarn上,我不知道具体原因,但是切换到npm就可以了。 - onuriltan
27个回答

313

当您的网络速度过慢或正在安装的软件包过大时,就会出现这种情况,而Yarn只是认为这是一个网络问题。尝试增加Yarn网络超时时间:

这种情况通常发生在网络速度太慢或要安装的软件包太大时,Yarn会默认认为是网络问题。请尝试增加Yarn的网络超时时间:

yarn add <yourPackage> --network-timeout 100000

11
无论包名是什么,--network-timeout 只是一个 Yarn 标志,告诉它将网络超时设置为特定值。可以这样使用:yarn add react --network-timeout 100000yarn add @angular/core --network-timeout 100000 或者只输入 yarn --network-timeout 100000 - Marko Hologram
4
我经常忘记在运行 yarn 时添加 --network-timeout 开关,因此在我的 ~/.bashrc 文件中添加了一个别名,在 yarnPATH 修改后如下所示:alias yarn='yarn --network-timeout 100000' - Paul M Edwards
对于像我和@PaulMEdwards这样的人,我添加了另一个答案,它可以设置网络超时时间,但始终全局设置。https://dev59.com/SlUK5IYBdhLWcg3wohSK#69038041 - Joseph Hansen
2
可能不是最理想的答案,但我刚刚从公司的WiFi切换到了移动热点,它可以正常工作。过去也曾这样做过... - MsA
@MsA 不是理想的,但只能这样了 ;) 不明白它是如何工作的,但它确实有效。我的WiFi连接速度非常快,达到了200MB/s,但对于yarn来说还是太慢了。当我切换到最慢的移动网络时,yarn就满意了。谢谢 - Walter Luszczyk
显示剩余2条评论

100

我尝试删除yarn.lock文件并重新运行"yarn install",这个方法适用于我。


2
这是唯一对我有用的解决方案,感谢! - paoliff
我也试过了!干杯! - TheDavil
这样就搞定了! - Yuri Pereira
使用docker-compose build --no-cache命令时,出现了错误:无法解决依赖项:计算缓存密钥失败:“/yarn.lock”未找到:未找到。 - NicolasZ
4
永远不应该删除锁定文件。这会破坏它们最初的作用。 - Abhishek Ghosh

39

我遇到了这个问题,是因为我在公司内部网络中工作,需要设置代理。

$ yarn config set proxy http://my_company_proxy_url:port
$ yarn config set https-proxy http://localhost:3128

example $ yarn config set https-proxy http://proxy.abc.com:8080

6
这真是救命稻草!谢谢。 - Jhalaa Chinoy
有时候你可能需要传递类似这样的凭据: $ yarn config set https-proxy http://username:password@proxy:port - Chris Claude

36

简单有效的解决方案(正确的做法):

看起来yarn正在尝试通过代理连接。以下方法对我有效:

npm config rm proxy
npm config rm https-proxy

来源


34

关闭Windows Defender的“实时保护”对我有所帮助,解决了问题。

很遗憾,看起来这些检查对于Yarn来说太多了,无法处理。


1
在 Windows 10 上运行 react-native init 时遇到了相同的问题^^ 这个解决了它。 - Brian Var
1
最好在Windows Defender中排除某些目录,而不是每次都关闭它。 - Yashas
1
@Yashas 如果关闭防御者是一个问题,那么可以从Windows注册表中进行父级禁用的选项。 - Harshad Prajapati

34
yarn config set network-timeout 600000 -g

通常,你的错误是由于达到网络连接时间限制引起的,而yarn只会报告“网络连接有问题”。

我回答顶部的代码行将全局yarn网络超时设置为10分钟。

具有长时间的网络超时可能是可以接受的,因为yarn使用缓存,如果它很大而你没有它,你可能希望它继续下载并花费时间。


1
谢谢。这对我来说是yarn add @tabler/icons-react。希望这对未来的某些人有所帮助。 - undefined

30
  1. 可能是您的网络速度过慢,而超时时间相对较短,您可以设置 yarn install --network-timeout=30000
  2. 如果仍然存在错误,可能可以通过代理解决,执行 vim ~/.yarnrc 并添加有用的代理设置。

16

以下内容对我有帮助

yarn config delete https-proxy
yarn config delete proxy

他们将您的 https-proxy 和 proxy 值设置为未定义。我的 https-proxy 被设置为 localhost。通过使用以下方法检查 proxy 和 https-proxy 配置值是否未定义

yarn config get https-proxy
yarn config get proxy

13

可能是代理问题。运行以下命令以删除代理。

yarn config delete proxy

9

对我来说非常准确!最终我将它们分别添加,没有超时。 - PJRobot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接