Как переключаться между версиями Perl 5.8 и 5.10 на Mac OS X 10.6 Server и использовать Apache2 - PullRequest
2 голосов
/ 09 августа 2010

Новый Mac Mini Server поставляется с OS X 10.6 и изначально поддерживает (поставляется с) две версии Perl, и Apple по веским причинам включила их по умолчанию.

Их можно найти в следующих каталогах:/Library/Perl/5.8.9 и /Library/Perl/5.10.0 я также нашел в /Library/Perl/Updates/5.8.9 и /Library/Perl/Updates/5.10.0.

Iобнаружил, что я могу успешно переключаться между perl 5.8.9 и 5.10.0 на уровне консоли с помощью предложенной Apples команды «запись по умолчанию» с помощью терминала.

Например, поскольку OS X Server 10.6 поставляется спо умолчанию установлено значение 5.10.0. Я успешно использовал следующие две команды для перехода на Perl 5.8.9 с использованием 32-разрядной версии, и все работает на уровне консоли.

sudo defaults write /Library/Preferences/com.apple.versioner.perl Version 5.8.9
sudo defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes

Я успешно установил следующеетребуемые модули Perl, использующие оболочку CPAN, например, для версии по умолчанию perl 5.10.0:

sudo perl -eshell -MCPAN
install DBI
install CGI
install HTML::Template
install DBD::Pg

Я использовал DBD: Pg для подключения к базе данных PostgreSQL иКажется, что at тоже работает нормально.

Однако, когда я пытаюсь перейти на Perl 5.8.9 с 5.10.0, я получаю следующую ошибку в Apache при попытке использовать тот же код Perl.

Server error!
  The server encountered an internal error and was unable to complete your request.
  Error message:
  Premature end of script headers: login.pl
  If you think this is a server error, please contact the webmaster.
Error 500
  192.168.2.100
  Mon Aug 9 12:10:09 2010
  APACHE/2.2.14(UNIX)mod_ssl/2.2.14 OpenSSL/0.9.81

Затем я решил, что, возможно, было бы неплохо снова пройтись по «sudo perl -eshell -MCPAN» после того, как я переключился на perl 5.8.9, используя команду «default write», однако это не показалосьhelp.

У кого-нибудь есть идеи, почему я получаю эти результаты?Есть ли у вас какие-либо предложения относительно лучшего подхода без использования предварительно скомпилированных двоичных файлов, поскольку у меня нет проблем с компиляцией из исходного кода.

Заранее спасибо.

DougPan

1 Ответ

0 голосов
/ 09 августа 2010

Пробовал App :: perlbrew и local :: lib ? Первый предназначен для управления несколькими установками perl (хотя я не знаю, может ли он сделать существующие), второй - для ... более особых случаев установки библиотек. Было бы очень просто иметь 1 набор библиотек cpan для каждой версии perl и каждого приложения, если вам нужно.

...