用sdkman获取'互联网无法访问'

eth*_*joe 10 sdkman

互联网工作正常,但我从sdkman得到这个错误:

    06:47 $ sdk version
==== INTERNET NOT REACHABLE! ===============================

 Some functionality is disabled or only partially available.
 If this persists, please enable the offline mode:

   $ sdk offline

============================================================

SDKMAN 4.0.35
Run Code Online (Sandbox Code Playgroud)

我的DNS确实似乎解决得非常慢.我可以ping,但分辨率大约需要7秒.这会导致sdkman超时吗?

有什么想法吗?调试的下一步是什么?谢谢!

小智 10

您需要在以下路径中分配的配置文件中设置curl connect timeoutcurl max time:

 $YOUR_HOME/.sdkman/etc/config
Run Code Online (Sandbox Code Playgroud)

以下内容:

sdkman_curl_connect_timeout = 20
sdkman_curl_max_time = 0

我希望这能帮到您

  • 太奇怪了 (3认同)
  • @RxRead 这并不奇怪。它只是调整超时配置以支持弱网络下的 sdkman 更新。 (2认同)

小智 5

好吧,我不得不努力让 SDKMAN 让我下载软件包。我在公司代理后面,并使用 CNTLM 在我的本地计算机上解决它。

下载后,我必须在本地计算机上编辑 sdkman 文件。

下载也是一件事。对我来说,将 -x http://localhost:3128添加到curl 命令中是有效的。我安装 gradle 所采取的步骤:

  • 我下载了安装脚本并将其存储在 /tmp 文件夹中。
  • 调整了安装脚本并向curl命令添加了额外的参数。现在我可以看到该工具被下载并安装在 $HOME/.sdkman 目录中。
  • 之后我必须运行 sdkman-init.sh
  • 然后我必须编辑 .sdkman/src/sdkman-utils.sh 并将 -x 选项添加到调用curl的每一行。

这就成功了。请记住在每一步后关闭终端并打开一个新终端。


eth*_*joe 0

看起来它现在正在工作......也许是服务器端的问题?或者可能是我这边间歇性的网络问题。无论如何,下一次危机......:)