15

互联网工作正常,但我从 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

我的 DNS 似乎解析得很慢。我可以 ping,但分辨率需要大约 7 秒。这会导致 sdkman 超时吗?

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

4

7 回答 7

24

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

 $YOUR_HOME/.sdkman/etc/config

到以下:

sdkman_curl_connect_timeout= 20
sdkman_curl_max_time= 0

我希望这能帮到您

于 2016-07-20T00:37:25.380 回答
4

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

下载后我必须在本地机器上编辑一个 sdkman 文件。

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

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

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

于 2019-07-04T13:47:06.397 回答
2

不同的应用程序使用不同的设置来建立网络连接。

就我而言(我使用 Macbook Pro 通过代理访问互联网),尽管我在System Preferences->Network->Advanced->Proxies中设置了 http 和 https 代理。它确实对浏览器(Safari)生效,但不适用于sdkman命令行工具。

我必须手动设置环境变量http_proxyhttps_proxy

以下是我在 Macbook Pro 上设置的内容。

export http_proxy=http://proxy.abc.com:2500
export https_proxy=https://proxy.abc.com:2500

然后 sdkman 工作正常。

于 2017-03-16T09:02:42.910 回答
2

修复对我来说是一个两步过程:

  1. sdkman-init.sh在( chmod +x .sdkman/bin/sdkman-init.sh)上设置可执行位
  2. 修改~/sdkman/etc/config,设置
sdkman_curl_connect_timeout=30
sdkman_curl_max_time=50

并且不要忘记重新启动终端。

于 2019-05-04T04:10:58.927 回答
0

尝试

sdkman_insecure_ssl=true in .sdkman/etc/config
于 2022-02-05T08:29:02.073 回答
0

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

于 2016-05-15T05:11:35.607 回答
0

我遇到了同样的问题(在公司代理后面)。就我而言,http_proxyhttps_proxy设置了环境变量。

有趣的是,大多数发行版不使用(相当罕见的)https_proxy支持编译 openssl,因此 curl 失败:

curl https://www.google.com
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to proxy.company.com:3128 

我的问题的解决方案:

unset https_proxy

在 unsetting 之后https_proxy, curl 和sdkman(因为它们似乎使用 openssl)都开箱即用。

于 2021-04-28T12:04:37.047 回答