Я должен выбрать ActivePerl или Strawberry Perl for Windows? [дубликат]

107
задан Peter Mortensen 23 November 2019 в 13:14
поделиться

6 ответов

После того, как я много лет использовал и то, и другое, я бы сказал, по крайней мере, для меня ActivePerl - гораздо более удобный выбор . Установщик PPM , включенный в ActivePerl, позволяет добавлять альтернативные репозитории PPM , которые предоставят вам доступ почти ко всем полезным модулям Perl, доступным на CPAN, но подготовленным и протестированным для Windows. В конечном итоге для меня это был гораздо лучший (и более надежный) выбор. Даже для Windows-версии HTTP-сервера Apache доступен предварительно скомпилированный файл mod_perl (2.0.4) ppm, который (с моей точки зрения) будет работать из коробки с ActivePerl 5. 12 .1 и Apache 2.2.15 .

Думаю, я отказался от Strawberry Perl после попытки установить DBI + DBD :: mysql в Windows 7 (что без проблем в ActivePerl; просто нажмите ppms и выберите установку).

Но, возможно, это уже решено. И, возможно, можно выбрать каталог, в который будет установлен Strawberry Perl (я не мог).

Кстати: для компиляции ваших собственных файлов Inline или XS просто установите компилятор MinGW с помощью ppm (я этого не делал, но это выглядит интересно).

Приложение : после прочтения комментария ниже я снова проверил Strawberry Perl, и теперь можно изменить каталог установки, что является обозначенной функцией выпуска 5.12.0 (которая является актуальной версией). Это решит один важный (IMHO) недостаток Strawberry Perl (по сравнению с ActivePerl).

33
ответ дан 24 November 2019 в 03:42
поделиться

Немного дополняю полезный ответ Вивина Палиата:

Плюсы ActivePerl / PPM: Если есть PPM для вашей версии, он будет работать, и просто.

ActivePerl / PPM минусы: Не всегда есть PPM, или, по крайней мере, не всегда актуальный.

Strawberry Perl / CPAN Плюсы: Ваш репозиторий - это CPAN, а не куча двоичных файлов, поддерживаемых третьими лицами. Вы получаете новые модули в тот момент, когда автор выпускает их, и вы используете систему сборки, которую задумал автор.

Минусы клубничного Perl / CPAN: Не все модули гарантированно идеально собираются с помощью инструментов Windows.

Смягчающий фактор Strawberry Perl / CPAN: Разработчики Strawberry стараются очень, очень сильно, чтобы все шло гладко и чтобы как можно больше CPAN было доступно для вас, и когда модули определяются как проблемные места (трудно собираемые под Windows, но необходимые для других популярных модулей/приложений), они либо работают с автором, чтобы исправить модуль, чтобы каждый мог установить его, либо в исключительных случаях применяют свои собственные исправления и поставляют модуль в комплекте с Strawberry Perl или Strawberry Perl Professional.

Я предпочитаю Strawberry Perl. Я ценю то, что пытается сделать ActivePerl, но я думаю, что это узкое место в процессе разработки. Они были необходимы до того, как сообщество собралось вместе и создало Strawberry Perl, чтобы ввести Windows в "первый мир" экосистемы Perl, но они больше не нужны.

37
ответ дан 24 November 2019 в 03:42
поделиться

Если вы правильно спроектируете свое приложение, не имеет значения, что вы выберете.

Важным моментом могут быть версии различных модулей, которые каждый может предоставлять или не предоставлять. Пакеты PPM могут отставать от выпусков CPAN, но если вы не будете осторожны, новейшие выпуски CPAN могут нарушить обратную совместимость. Более того, иногда будут присутствовать пакеты PPM для вещей, которые просто не будут правильно собираться под Strawberry Perl (хотя это означает, что модуль чаще всего плохо спроектирован).

Просто помните о версиях любых модулей, которые вы используете, и все будет в порядке, независимо от того, какой вы выберете.

2
ответ дан 24 November 2019 в 03:42
поделиться

Strawberry Perl использует CPAN, что означает, что у вас есть последняя версия модулей. Когда что-то добавляется в CPAN, вы получаете к нему немедленный доступ. Strawberry Perl также поставляется с MinGW, что означает, что Strawberry Perl может использовать довольно много модулей XS непосредственно из CPAN без каких-либо изменений. В дистрибутив MinGW входят gcc , make , ld и другие инструменты, которые помогут вам создавать модули. Я думаю, что Strawberry Perl также поставляется с несколькими модулями, которые позволяют вам устанавливать PPM (файлы Perl Package Manager).

ActivePerl устанавливает модули, используя собственный формат под названием PPM (Perl Package Manager). Официальный репозиторий размещен на ActiveState.Вы можете найти PPM для большинства популярных модулей, поэтому у вас не должно возникнуть никаких проблем, если вы не ищете малоизвестный или действительно новый пакет (так что новейшие вещи не будут работать, потому что PPM обычно отстает от CPAN). Хотя их проще установить, чем модули CPAN, PPM созданы специально для Windows, поэтому некоторые модули CPAN не будут работать (потому что они делают вещи, специфичные для Unix).

Я использовал оба раньше, и мне показалось, что в большинстве случаев они работают. Но я склоняюсь к Strawberry Perl, потому что среда ближе к Unix и поэтому несовместимости не так много. С другой стороны, ActivePerl создан для Windows и поэтому очень хорошо работает с Windows.

Другой вариант - установить Cygwin и Perl, поставляемые с Cygwin. Я делал это раньше, и это работает достаточно хорошо. Вы также получаете доступ к CPAN.

Выберите то, что, по вашему мнению, вам больше всего подходит.

45
ответ дан 24 November 2019 в 03:42
поделиться

Strawberry Perl более Unixy в своем подходе, и я всегда был очень доволен, когда работал с ним.

Однако ActivePerl из-за своей специальной системы управления пакетами доставил мне колоссальную боль, когда я с ним работал. Это важно, когда вы работаете в корпоративной среде.

Для того, чтобы просто возиться, ИМО, Strawberry Perl лучше. / субъективный

19
ответ дан 24 November 2019 в 03:42
поделиться

В идеальном мире я бы выбрал debian-interix или pkgsrc-interix Perl (а не древний Perl, поставляемый с Interix / SFU / SUA), поскольку он обеспечивает наиболее похожую на POSIX / UNIX систему (включая реальную вилку копирования при записи, а не эмуляцию вилки Windows от Cygwin).

Раньше я устанавливал (и здесь он установлен на машинах с Windows), но не все могут / будут устанавливать SFU / SUA только для Perl. В таких случаях я бы порекомендовал ActivePerl, в первую очередь, для того, чтобы интерфейс был знаком пользователям Windows (графическая оболочка PPM по сравнению с CPAN) и его интеграция с Perl Dev Kit (PerlExe, PerlNET, PerlSvc и др.).

Кроме того, вопреки тому, что ответили другие, вы можете использовать CPAN (и оболочку CPAN) с ActivePerl (хотя для этого нужно сначала установить необходимые инструменты разработки через PPM), если вам это нужно.

3
ответ дан 24 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: