Установка модулей для Perl 6 с помощью Panda, но через прокси

Кажется, потерялся на этом.

Каждый раз, когда я что-то делаю с panda (обновление / установка), я получаю следующую ошибку:

Could not download module metadata: Failed to connect: connection timed out.
Falling back to the curl command.
curl failed: The spawned process exited unsuccessfully (exit code: -16).
Falling back to the wget command.
wget failed as well: The spawned process exited unsuccessfully (exit code: -16). Sorry, have to give up.
  in block  at C:\rakudo\share\perl6\site\sources\61C4E003FB65304A1A6771D177815A47C2333D7E line 138
  in any  at H:\.perl6\2016.01.1\precomp\34C40ED80206941C844106C0BECEBD0BCE0E58E3.1454618830.87862\61\61C4E003FB6530
4A1A6771D177815A47C2333D7E line 1
  in block  at C:\rakudo\share\perl6\site\sources\61C4E003FB65304A1A6771D177815A47C2333D7E line 134
  in any  at H:\.perl6\2016.01.1\precomp\34C40ED80206941C844106C0BECEBD0BCE0E58E3.1454618830.87862\61\61C4E003FB6530
4A1A6771D177815A47C2333D7E line 1
  in block  at C:\rakudo\share\perl6\site\sources\61C4E003FB65304A1A6771D177815A47C2333D7E line 128
  in any  at H:\.perl6\2016.01.1\precomp\34C40ED80206941C844106C0BECEBD0BCE0E58E3.1454618830.87862\61\61C4E003FB6530
4A1A6771D177815A47C2333D7E line 1
  in method update at C:\rakudo\share\perl6\site\sources\61C4E003FB65304A1A6771D177815A47C2333D7E line 94
  in sub MAIN at C:\rakudo\bin\panda line 43
  in block <unit> at C:\rakudo\bin\panda line 95

Я нашел в этом блоге http://perl6maven.com/how-to-install-perl6-modules, у кого-то в комментариях возникла такая же проблема:

Gave it a shot, but I am behind a web proxy. So panda install Task::Star 
failed. OK, research and find that Http::UserAgent is needed. Go look for 
it, and the install instructions are "use panda install Http::UserAgent". 
Catch-22 time. Not encouraging at this point.

So I clone the Http::UserAgent from github and point panda to the local 
directory: git install ./http-useragent and still get connection timed out 
in retrieveing metadata. Any ideas?

Итак ... Есть идеи?


person Phyreprooph    schedule 08.02.2016    source источник
comment
В readme-файле panda говорится, что если вы используете прокси-сервер, вам необходимо настройте git и установите HTTP :: UserAgent, который поддерживает прокси. Вы настроили git по ссылке и клонировали HTTP :: UserAgent?   -  person raiph    schedule 09.02.2016
comment
Я клонировал HTTP :: UserAgent, но мой компилятор perl6 не может его найти. Я пробовал установить переменные окружения PATH и PERL6LIB и все еще получаю === ИЗВИНЕНИЯ! === Не удалось найти HTTP :: UserAgent в: ...   -  person Phyreprooph    schedule 10.02.2016
comment
Что произойдет, если вы используете параметр компилятора -I для указания на каталог, например, если вы находитесь в каталоге, содержащем HTTP :: UserAgent, введите `perl6 -I. -e 'использовать HTTP :: UserAgent'?   -  person raiph    schedule 11.02.2016
comment
Это позволяло ему работать, но по какой-то причине ни одна из команд не работала. Похоже, установка была прервана, и мне пришлось переустановить. В конце концов, не потребовал HTTP::UserAgent.   -  person Phyreprooph    schedule 11.02.2016


Ответы (1)


Хорошо, все и все, я думаю, что разобрался. И, к вашему сведению, я работаю в Windows, поэтому попробуйте читать между строк для других ОС.

Я ничего не могу сделать с panda

Если вы получаете указанное выше сообщение об ошибке, это, вероятно, означает, что вы запустили panda update слишком рано. Хотя почти каждый модуль говорит вам запускать panda update перед panda install ....

Что мне теперь делать?

Вы должны удалить rakudo star и ПОВТОРНО УСТАНОВИТЬ! Заметил после переустановки радуко, panda list снова заработал. Я был в восторге! Проблема заключалась в том, что сразу после того, как я запустил panda update, что привело к указанной выше ошибке. После чего я снова попытался запустить panda list, и, к моему удивлению, панда снова сломался. В общем, переустановите и не запускайте panda update.

Хорошо, теперь я вернулся к тому, с чего начал, с невозможности подключиться к github

Звезды должны быть выровнены (не совсем), чтобы вы могли подключиться к github через прокси. Мое решение включало несколько вещей:

  • Убедитесь, что у вас установлена ​​последняя версия git (иначе он будет жаловаться)
  • git config http.proxy http://user:[email protected]:port
  • git config https.proxy http://user:[email protected]:port
  • git config --global http.proxy http://user:[email protected]:port
  • git config --global https.proxy http://user:[email protected]:port
  • git config http.sslVerify=false
  • SET http_proxy=http://user:[email protected]:port
  • SET https_proxy=http://user:[email protected]:port
  • SET GIT_PROTOCOL=https
  • SET GIT_SSL_NO_VERIFY=true

Теперь, очевидно, я понятия не имею, что делаю, и там есть большое количество настроек кроссовера, но я почти уверен, что у меня все они были установлены, поэтому, похоже, не повредит иметь больше.

УСПЕХ!

Итак, если вы зашли так далеко и еще не использовали panda update, вы сможете устанавливать модули для perl6 с помощью panda install ...!

person Phyreprooph    schedule 11.02.2016
comment
Спасибо, что написали это. Вы были на IRC-канале freenode # perl6? Было бы хорошо дать ссылку на это. - person raiph; 12.02.2016
comment
Не беспокойся! Нет, не знал, но не стесняйтесь. Оказалось, что брандмауэр моей компании не позволяет мне подключиться к IRC. О, ирония... - person Phyreprooph; 12.02.2016
comment
perl6.slack.com/messages/general? (perl6.bestforever.com для приглашения) - person raiph; 12.02.2016