получение «Интернет недоступен» с помощью 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

Мой DNS, кажется, разрешается очень медленно. Я могу пинговать, но разрешение занимает ~ 7 секунд. Может ли это быть причиной истечения времени ожидания sdkman?

Какие-нибудь мысли? какой следующий шаг к отладке? Спасибо!


person ether_joe    schedule 12.05.2016    source источник


Ответы (6)


вам нужно установить curl connect timeout и curl max time в файле конфигурации, который расположен по следующему пути:

 $YOUR_HOME/.sdkman/etc/config

к следующему:

sdkman_curl_connect_timeout=20
sdkman_curl_max_time=0

Я надеюсь, что это поможет вам

person Mohammad Salem    schedule 20.07.2016
comment
это так странно - person RxRead; 14.08.2019

Что ж, мне пришлось потрудиться, чтобы SDKMAN позволил мне загружать пакеты. Я использую корпоративный прокси-сервер и использую CNTLM, чтобы обойти его на моей локальной машине.

Мне пришлось отредактировать файл sdkman на моей локальной машине после его загрузки.

Загрузка тоже была вещью. Для меня сработало добавление -x http://localhost:3128 к команде curl. Шаги, которые я предпринял для установки Gradle:

  • Я скачал скрипт установки и сохранил его в папке /tmp.
  • Скорректирован скрипт установки и добавлен лишний параметр в команду curl. Теперь я мог видеть, как инструмент загружается и устанавливается в каталог $HOME/.sdkman.
  • После этого мне пришлось запустить sdkman-init.sh
  • Затем мне пришлось отредактировать файл .sdkman/src/sdkman-utils.sh и добавить параметр -x к каждой строке, где вызывался curl.

Это помогло. Не забывайте закрывать терминал и открывать новый после каждого шага.

person YVrancken    schedule 04.07.2019

Разные приложения используют разные настройки для установления сетевого подключения.

В моем случае (я получаю доступ к Интернету через прокси-сервер с помощью Macbook Pro), хотя я установил прокси-серверы http и https в Системные настройки->Сеть->Дополнительно->Прокси. Это вступило в силу для браузера (Safari), но не для инструмента командной строки sdkman.

Мне нужно установить переменные среды http_proxy и https_proxy вручную.

Ниже то, что я установил на свой Macbook Pro.

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

Тогда sdkman работает нормально.

person cmoaciopm    schedule 16.03.2017

Исправление было для меня двухэтапным процессом:

  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

И не забудьте перезапустить терминал.

person argoden    schedule 04.05.2019
comment
добавление исполняемого бита помогло мне... спасибо! - person fditz; 22.07.2020

Похоже, теперь это работает ... может быть, проблема на стороне сервера? Или, может быть, прерывистая проблема с сетью на моей стороне. В любом случае, очередной кризис... :)

person ether_joe    schedule 15.05.2016

У меня такая же проблема (находясь за корпоративным прокси). В моем случае была установлена ​​переменная окружения http_proxy, а также https_proxy.

Интересно, что большинство дистрибутивов не компилируют openssl с (довольно редкой) поддержкой https_proxy, и поэтому curl не работает:

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

Решение моей проблемы:

unset https_proxy

После отключения https_proxy, curl и sdkman (потому что они, кажется, используют openssl) оба работали из коробки.

person MRalwasser    schedule 28.04.2021