2014-11-30 5 views
2

Мне нужно установить модуль Time::Piece в Perl. По какой-то причине это не так. Когда я используюНе удается установить Время: Piece модуль с cpan

cpan install Time::Piece 

после нескольких успешных шагов, которые я получаю ошибку ниже

..... 
Checking if your kit is complete... 
Looks good 
Unable to find a perl 5 (by these names: "My windows path variable contents here...i think" 
Writing Makefile for Time::Piece 
'nmake' is not recognized as an internal or external command, 
operable program or batch file. 
    RJBS/Time-Piece-1.29.tar.gz 
    nmake -- NOT OK 
Running make test 
    Can't test without successful make 
Running make install 
    Make had returned bad status, install seems impossible 
Failed during this command: 
RJBS/Time-Piece-1.29.tar.gz     : make NO 

cpan[2]> 

Почему это происходит? Пожалуйста, помогите мне исправить это.


Я буду ждать ответа, пока я попытаюсь исправить это сам. Первая проблема -

'nmake' is not recognized as an internal or external command, operable program or batch file. 

Я использовал this solution

панели управления Windows 7, Программы и компоненты, выберите Microsoft Visual Studio 2008 Standard или Professional Edition приложений затем выберите Удалить/Изменить/Modify. Это приведет вас в режим обслуживания . Выберите C++, затем проверьте компиляторы и инструменты X64.

У меня была Visual Studio Express и Visual Studio Professional 2013 (я не помню, как и почему она там в моей системе.) Я следовал приведенным выше инструкциям. Варианты были разными: в нем упоминался C++ - Microsoft Visual C++ 2013 библиотеки классов Microsoft Foundation. Итак, я выбрал этот. Загрузите и установите 600 Мб.

Я отправился в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin и нашел nmake. Если вы не найдете его там, вы можете найти его в Microsoft Visual Studio 10, 11 и т. Д. Ищите nmake. Добавьте путь к nmake в переменную окружения PATH.

Теперь я получаю новую ошибку

NMAKE : fatal error U1073: don't know how to make 'C:/Program' 
Stop. 
    RJBS/Time-Piece-1.29.tar.gz 
    nmake -- NOT OK 
Running make test 
    Can't test without successful make 
Running make install 
    Make had returned bad status, install seems impossible 
Failed during this command: 
RJBS/Time-Piece-1.29.tar.gz     : make NO 

cpan[2]> 

Я постараюсь исправить это тоже. Кстати, @ikegami сказал мне, что установка на путь без пробелов (C:\progs\...) решит мою проблему. Я не можно установить в другой каталог:

Эта версия Perl поставляется в комплекте с другим программным обеспечением, которое должно установить в папку "C:\Program Files (x86)", которая имеет место в нем. Программное обеспечение должно быть в этом пути для выполнения некоторых других действий . Есть ли простой способ редактировать код, который пытается установить модули? Я мог бы проанализировать этот путь, изменив код . Я новичок в Perl. Не уверен, смогу ли я изменить , не причинив вреда.

РЕДАКТИРОВАТЬ -

У меня есть и активное состояние Perl 5.1.2 и Perl 5.8, которые используются с помощью инструмента х и у инструмента (электрический командир). Инструмент y имеет свои собственные библиотеки perl, которые должны использоваться в моем коде. Поэтому я застрял с perl 5.8.

Я только что узнал, что это связано с проблемами с инструментом y.Для этого есть обходной путь, но я не могу это понять. Не могли бы вы помочь мне разобраться в обходном пути для окон?

https://electriccloud.zendesk.com/hc/en-us/articles/202828073-KBEC-00180-Installing-Perl-modules-into-the-Commander-Perl-distribution

+1

Как вы установили perl? – ernix

+1

Если 'Time :: Piece' отсутствует, вы не знаете, что еще может быть ошибкой в ​​установке. Вы должны переустановить все, а не пытаться исправить то, что у вас есть. – Borodin

ответ

2

Какую версию Perl вы работаете? что вы получите, если вы запустили «perl -v» в командной строке?

Если номер версии, которую вы получаете, составляет 5,10 или выше, тогда Time :: Piece уже должен быть включен в эту версию Perl. Если это не так, ваша установка будет разбита интересными способами, и вам, вероятно, следует переустановить ее с нуля.

Если номер версии, который вы получаете, ниже 5,10, у вас установлена ​​устаревшая версия Perl, и лучшим вариантом будет переход на более новую версию.

+0

Вы можете найти, если это ActiveState Perl, вы можете установить через «ppm» вместо CPAN. Но если 'Time :: Piece' не существует, то это, вероятно, означает, что у вас действительно старый perl, и вместо того, чтобы устанавливать его вручную, обновление Perl может быть ответом. – Sobrique

+0

У меня есть как активное состояние perl 5.1, так и perl 5.8, которые используются инструментом x и инструментом y (электрический командир). Инструмент y имеет свои собственные библиотеки perl, которые должны использоваться в моем коде. Поэтому я застрял с perl 5.8. Я просто узнал, что это связано с проблемами с инструментом y. Для этого есть обходной путь, но я не могу это понять. Не могли бы вы помочь? https://electriccloud.zendesk.com/hc/en-us/articles/202828073-KBEC-00180-Installing-Perl-modules-into-the-Commander-Perl-distribution – stack1

+0

Вы имеете в виду ActivePerl 5.001 или ActivePerl 5.10? Не было ничего, что называлось Perl 5.1. –

Смежные вопросы