在WSL2中利用gradle构建项目时出现:Could not connect to the Gradle daemon. 的解决方案

最近本人在做基于expo开发的某个APP,由于某种原因,eas云构建连接不上(卡在连接谷歌那一步),于是想要利用官方提供的本地构建功能在本地构建一下,结果在wsl这里摔了个跟头))

 eas要求必须要在macos or linux下构建,因此我决定使用wsl进行构建

 结果各种构建失败,卡在gradle构建步骤,然后我想着 不会构建普通java项目也失败吧

果不其然,构建普通项目也失败,网上各种查也是奇奇怪怪的不痛不痒的东西,但都提到了一个东西:这玩意与网络有关,观察wsl的工作状态时,我发现状态为无法连接守护程序,但是守护程序fork成功了,可能与网络有关系,于是我开始不断调试,各种配置防火墙。在研究wsl的网络原理时我发现当使用了镜像模式时,wsl访问localhost可以访问到win本机的端口,于是我猜想不会这客户端访问到win端口了吧。于是我将wsl的网络模式改为了NAT(这样wsl访问win机需要使用特殊的ip),然后重新配置代理

代理配置如下:

export WIN_IP=`ip route show | grep -i default | awk '{ print $3}'`
export PROXY_PORT=7890
export GRADLE_OPTS=" -Djava.net.preferIPv4Stack=true -DsocksProxyHost=${WIN_IP} -DsocksProxyPort=${PROXY_PORT} -Xms2g -Xmx4g"
export _JAVA_OPTIONS=" -Djava.net.preferIPv4Stack=true  -DsocksProxyHost=${WIN_IP} -DsocksProxyPort=${PROXY_PORT} -Xms2g -Xmx4g"

win的代理端记得配置一下防火墙,且允许局域网设备

wsl配置文件如下 %UserProfile%/.wslconfig

[experimental]
autoMemoryReclaim=gradual  
autoProxy=false
[wsl2]
localhostForwarding=false

最终解决了这个问题

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值