#perl #macos
#perl #macos
Вопрос:
Для приложения Mac OS X, где сценарий Perl (Markdown.pl ) будет вызван, мне нужно знать, установлен ли Perl по умолчанию во всех установках Mac OS X 10.6 и более поздних версий. В противном случае нам придется упаковать его вместе с приложением.
Это подтверждено, могу ли я с уверенностью предположить это?
Комментарии:
1. Я думаю, что более важный вопрос заключается в том, какую версию Perl предоставляет Darwin. И ответов несколько. Плюс я всегда устанавливаю свой собственный. Итак, на моем Mac запущены все perl1, perl5.8.9, perl5.10.0, perl5.12.3, perl5.14.0 и perl6 (rakudo). На других платформах у меня их еще больше, и я сохраняю полное дерево исходных текстов perl со всеми версиями, когда-либо выпущенными в нем.
Ответ №1:
ДА.
В Mac OS X Perl уже установлен. Откройте приложение терминала (в папке Utilities вашей папки Applications) и запустите perl -v, чтобы узнать, какая версия. http://www.perl.org/get.html
И согласно официальным спецификациям Snow Leopard, он поставляется с Perl, PHP, Ruby, Rails.
В этом обсуждении Apple упоминается Perl (5.8.1)
, что он предварительно установлен с OS X 10.6.x.
(последнее, по-видимому, неверно. Смотрите комментарии к этому ответу)
Комментарии:
1. @WTP: Я нашел официальные спецификации для Snow Leopard, в которых указан PERL (хотя версия не указана). Обновленный ответ.
2. Да — Perl доступен с версии 10.0 и ранее, хотя номера версий различаются и, как правило, немного отстают, поскольку Apple обновляет Perl до более новой версии только для основных обновлений 10.x. Все второстепенные версии Mac OS X 10.6 включают в себя как 5.10.0, так и 5.8.9. (Тот, кто упомянул 5.8.1, перепутал своих кошек — это поставляется с 10.3 «Panther».)
3. Кстати, под «10.0 и более ранними версиями» я имею в виду предварительные версии для разработчиков, а не «классическую» macOS. В те дни MacPerl загружался отдельно. 🙂
4. Ссылка на спецификации Snow Leaopard не работает.
Ответ №2:
Учитывая, что некоторые пакеты используют скрипты perl для удаления / установки, и я никогда не использовал Mac, на котором его не было; Я думаю, что это довольно безопасная ставка.
Даже на веб-сайте Perl так написано:http://www.perl.org/get.html
Ответ №3:
Да, Snow Leopard поставляется с несколькими версиями Perl, я полагаю.
Комментарии:
1. Да, оба 5.10.0 и 5.8.9, последний, предположительно, для совместимости со скриптами, которым не нравится 5.10. Apple извлекла урок из трудного перехода от Jaguar к Panther, когда они перешли с 5.6 на 5.8.1 и в процессе сломали много модулей XS.
Ответ №4:
Хотя это правда, что Mac поставляются с Perl, они, очевидно, не тратят огромное количество времени на размышления об этом. Новейший XCode нарушает CPAN. Таким образом, вы можете захотеть придерживаться чистых модулей Perl или стандартного дистрибутива, пока это не будет разработано. Даже в этом случае те пользователи, которые не будут обновляться, останутся с поврежденным Perl.
Более подробная информация:http://deflatermouse.livejournal.com/149721.html
Комментарии:
1. К счастью, скрипт, который необходимо вызвать приложению, не нуждается в CPAN. 🙂
2. Обратите внимание, что в обеих связанных статьях рекомендуется просто создавать свой собственный Perl и избегать системного Perl. Хороший совет! После многих лет попыток написать CamelBones, чтобы идти в ногу с системным Perl, я, наконец, переписываю его с нуля, чтобы включить собственный.
3. @Sherm, определенно есть обходные пути, однако нельзя ожидать, что пользователи захотят / собираются их использовать.
Ответ №5:
Быстрый поиск в Google дал бы вам ответ на этот вопрос:
http://www.google.com/search ?q= mac os x perl по умолчанию установить
Но да.
Ответ №6:
$ /usr/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=darwin, osvers=10.0, archname=darwin-thread-multi-2level
uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=gcc-4.2'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc-4.2', ccflags ='-arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include',
optimize='-Os',
cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='4.2.1 (Apple Inc. build 5646)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc-4.2 -mmacosx-version-min=10.6', ldflags ='-arch x86_64 -arch i386 -arch ppc -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -arch ppc -bundle -undefined dynamic_lookup -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Locally applied patches:
/Library/Perl/Updates/<version> comes before system perl directories
installprivlib and installarchlib points to the Updates directory
Built under darwin
Compiled at Jun 24 2009 00:35:27
@INC:
/Library/Perl/Updates/5.10.0
/System/Library/Perl/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/5.10.0
/Library/Perl/5.10.0/darwin-thread-multi-2level
/Library/Perl/5.10.0
/Network/Library/Perl/5.10.0/darwin-thread-multi-2level
/Network/Library/Perl/5.10.0
/Network/Library/Perl
/System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.10.0