Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > ppd пакет Template-Toolkit не ставится


Автор: Vaneska 19.7.2005, 15:31
Такая ерунда получается:
Нашел ppd пакет Template-Toolkit для Win32, начал устанавливать, а ppm выдает
такую ошибку:

PPM> install Template-Toolkit.ppd
Install package 'Template-Toolkit.ppd?' (y/N): y
Installing package 'Template-Toolkit.ppd'...
Error installing package 'Template-Toolkit.ppd': Read a PPD for 'Template-Toolkit.ppd',
but it is not intended for this build of Perl (MSWin32-x86-multi-thread)

Версия перла у меня 5.6.1
Может это быть из-за того, что пакет для 5.8.х ?
И что означает MSWin32-x86-multi-thread?

Автор: sharq 19.7.2005, 18:06
Vaneska
Цитата(Vaneska @ 19.7.2005, 15:31)
but it is not intended for this build of Perl (MSWin32-x86-multi-thread)

если перевести на русский, то
непредназначена для установленного билда Perl'а (MSWin32-x86-multi-thread).
А я думал, я английский не знаю... smile

Цитата(Vaneska @ 19.7.2005, 15:31)
И что означает MSWin32-x86-multi-thread

это архитектура машины, на которую ты ставишь модуль, 32х-разрядная Windows, многопотоковая.

Где ты этот ppd взял?

Вот тебе http://theoryx5.uwinnipeg.ca/ppmpackages/Template-Toolkit.ppd и дистрибутив модуля http://theoryx5.uwinnipeg.ca/ppmpackages/x86/Template-Toolkit.tar.gz.

Сохрани их в одной папке, измени путь к дистрибутиву в ppd-файле:

Код
<INSTALL EXEC="PPM_PERL" HREF="install_tt2">http://theoryx5.uwinnipeg.ca/ppmpackages/scripts/install_tt2</INSTALL>
<CODEBASE HREF="http://theoryx5.uwinnipeg.ca/ppmpackages/x86/Template-Toolkit.tar.gz" />

на 
<INSTALL EXEC="PPM_PERL" HREF="install_tt2">install_tt2</INSTALL>
<CODEBASE HREF="Template-Toolkit.tar.gz" />


Установочный файл install_tt2 (сохрани его в той же папке):
Код
#!perl # измени путь если нужно!!!

use strict;
use warnings;
use ExtUtils::MakeMaker qw(prompt);
use Cwd;

die "This is intended for Win32" unless ($^O =~ /Win32/i);

print << "END";

I can now install some optional tt2 stuff, including
documentation, examples, and the splash library, if you
like. This can go in any convenient location - the default
is "$ENV{ProgramFiles}". The installation will go under 
a "tt2" subdirectory of the directory you specify.

END

my $ans = prompt('Proceed with install?', 'yes');
exit 0 unless $ans =~ /^y/i;

my $dir = prompt('Under which directory?', $ENV{ProgramFiles});
unless (-d $dir) {
    mkdir $dir or die "Cannot mkdir $dir: $!";
}
chdir $dir or die "Cannot chdir to $dir: $!";

use LWP::Simple qw(getstore $ua is_success);
if ($ENV{HTTP_proxy_user} and $ENV{HTTP_proxy_pass}
    and $ENV{HTTP_proxy} =~ /^http:\/\/([^@]+)$/) {
       my $proxy ="http://$ENV{HTTP_proxy_user}:$ENV{HTTP_proxy_pass}\@" . $1;
       print "setting user/pass into proxy_env...\n";
       $ua->proxy(['http'], $proxy);
}
$| = 1;
my $file = 'tt2.tar.gz';
my $remote = 'http://theoryx5.uwinnipeg.ca/ppms/scripts/' . $file;
print "Fetching $remote ... ";
die "Download of $remote failed" 
    unless (is_success(getstore($remote, $file)));
print " done!\n";

require Archive::Tar;
my $arc = Archive::Tar->new($file, 1);
print "Extracting files under $dir ... please wait ...";
$arc->extract($arc->list_files());
print " done!\n";
die "Unpacking $file failed" unless (-d "$dir/tt2");
unlink $file or warn "unlink of $file failed: $!";



И устанавливай через ppm:
Код
PPM>  install Template-Toolkit.ppd


smile

Автор: Vaneska 12.9.2005, 12:35
Извиняюсь, что так долго не отвечал.
Спасибо за помощь.
Разобрался, понял.
Все установилось и прекрасно работает!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)