Подтвердить что ты не робот

Как установить библиотеки Perl в Cygwin?

Я - разработчик C/С++/Java/Unix по профессии, но теперь мне нужно написать Perl-программу в Windows. Итак, у меня есть Cygwin, Eclipse с EPIC, и запущены простые тестовые программы. У меня нет машины Unix, доступной для меня, что я могу запустить Eclipse.

Но мне нужно использовать Net::TCP::Server, и я не могу понять, как его установить. Он, похоже, не входит в установку Cygwin Perl, и я не хочу тратить 5 дней на изучение мира Perl и CPAN и конфигурации Perl. Я просто хочу написать свою программу.

Любые простые способы установки модуля Perl в Cygwin? Я думаю, что что-то вроде apt-get install было бы неплохо, но я ожидаю, что слишком много, чтобы надеяться.

Спасибо

4b9b3361

Ответ 1

$ perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.

cpan[1]> install Net::TCP::Server

И поучительно перечислить конфигурацию с помощью команды o conf.

Ответ 2

Я являюсь разработчиком C/С++/java unix по профессии, но теперь мне нужно написать программу perl в окнах. Итак, у меня есть cygwin, eclipse с EPIC, и запущены простые тестовые программы. У меня нет машины unix, доступной для меня, что я могу запустить eclipse.

Вы можете запустить Eclipse с EPIC прямо под Windows без Cygwin. Мне нравится Cygwin для многих вещей, но это не совсем стабильная платформа. Eclipse работает как Java-программа, поэтому все, что вам нужно сделать, это убедиться, что Java установлен на вашем ПК. Существует даже готовый пакет Eclipse.

Вы также можете получить достойный Perl, который работает прямо под Windows. Либо ActivePerl или Strawberry Perl. Любой из них будет работать, хотя многие главы Unix предпочитают Strawberry Perl, потому что он поставляется с той же средой MIGW, что и у Cygwin, и многие считают, что она более совместима с братьями Unix Perl. Тем не менее, ActiveState Perl может использовать Perl Package Manager (PPM), который содержит предварительно построенные модули. К сожалению, модуль, который вы хотите, недоступен через PPM.

Но мне нужно использовать Net:: TCP:: Server, и я не могу понять, как его установить. Он, похоже, не является частью установки cygwin perl, и я не хочу тратить 5 дней на изучение мира perl и cpan и perl-конфигурации. Я просто хочу написать свою программу.

Установка из CPAN на самом деле довольно проста. При первом запуске CPAN он должен в значительной степени настроить себя. Затем, чтобы выполнить установку, вы запускаете cpan install Net::TCP::Server, и это должно быть так. Тем не менее, я пробовал несколько компьютеров Mac, Unix и Linux, и я не могу заставить его работать. Таким образом, это не проблема Windows, а проблема с этим модулем. Он довольно старый и может плохо работать в новых версиях Perl. Возможно, вам придется принудительно установить тестовые возражения.

Возможно, вы можете использовать один из уже установленных модулей ввода-вывода, которые поставляются вместе с Perl. Это спасет вас от проблем, потому что требуемые модули являются частью существующего пакета Perl.

Ответ 3

Увидев, что часть информации здесь немного устарела и слишком сложна, я бы предпочел следующее. Существует несколько разных менеджеров пакетов Perl. Все они установлены с cpan (который уже является частью установки Cygwin Perl), например:

# Install ppm (outdated)
cpan PPM 

# Install cpanp (still used)
cpan CPANPLUS

# Install cpanm (most recent)
cpan App::cpanminus

Затем вы можете установить любой пакет Perl, который вам нравится, например, в OP, используя cpanm:

cpanm Net::TCP::Server

Иногда (как отмечалось выше) Cygwin может провалить некоторые тесты. Например, при использовании IPv6 на компьютере, настроенном только на IPv4, или когда брандмауэр Windows блокирует некоторые тесты и т.д. Чтобы попытаться установить все равно, попробуйте использовать флаг силы; -f.

cpanm -f Net::TCP::Server

Ответ 4

Несмотря на Cygwin "проблемы", я использую его регулярно, когда мне приходится использовать Windows. Я бы рекомендовал сначала установить отдельную установку Perl с использованием perlbrew, чтобы вы не мешали Cygwin-копированию Perl, если что-то происходит плохо, поскольку Cygwin не применяет политику root-пользователя. В оболочке cygwin введите

\curl -L http://install.perlbrew.pl | bash

Это должно пройти установку для perlbrew и настроить ее на одном из ваших исполняемых путей. Следующий тип

perlbrew init
perlbrew install --force stable
perlbrew switch stable

Подождите немного, пока компилируется монетный двор Perl. По неизвестной причине Perl может пройти только 99,23% тестов основного модуля на Cygwin (по крайней мере, на моей машине), поэтому флаг -force. Мой опыт в том, что он в основном имеет отношение к обработке файлов устройств, таких как порты и каналы. Я не знаю людей, пытающихся решить проблему, поскольку это похоже на проблему Cygwin. Хотя это не представляло для меня большой проблемы с общими задачами системного и веб-программирования. Процедуры тестирования модуля не сработают, если возникнет какая-либо проблема, поэтому я не беспокоюсь о ней.

Следующий шаг - установить cpanm (cpanminus), введите

perlbrew install-cpanm

Теперь, чтобы установить любую библиотеку из CPAN, просто введите

cpanm [library::name1] [library::name2]

cpanm делает тривиальным установку любых модулей Perl. Вы даже можете установить из своего локального каталога вместо CPAN.