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

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

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

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

спасибо

4 ответов


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

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

и это поучительно, чтобы перечислить конфигурацию с


Я C/C++ / java Unix geek по торговле, но теперь я должен написать программу perl в windows. Итак, у меня есть cygwin, eclipse с установленной EPIC и простыми тестовыми программами. У меня нет доступной мне машины unix, на которой я могу запустить eclipse.

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

вы также можете получить приличный Perl, который работает прямо под Windows. Либо использованием ActivePerl или Клубничный Perl. Любой из них будет работать, хотя многие руководители Unix предпочитают Strawberry Perl, потому что он поставляется с той же средой MIGW, что и Cygwin, и многие считают, что он более совместим с братьями Unix Perl. Однако ActiveState Perl может использовать Диспетчер пакетов Perl (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.


видя, что некоторая информация здесь немного устарела и слишком сложна, я бы предпочел предложить следующее. Используется несколько различных менеджеров пакетов 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

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

\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.