2017-01-31 7 views
0

В настоящее время я запускаю bash через Cygwin в Windows, и я нашел два разных способа установки модуля Perl.cpan vs -MCPAN - Perl

perl -MCPAN -e shell 

install Name::Module 

и

cpan Name::Module

В чем разница между этими двумя методами, и они предлагают какие-либо преимущества или недостатки по сравнению с другими?

ответ

3

cpan устанавливает для perl в линии притон (#!) файла cpan.

Когда кто-то установленный на машине более одного perl, они иногда проводят неправильную копию cpan, и, таким образом, в конечном итоге установка модулей для неправильного экземпляра perl.

Одним из решений этого вопроса будет указать полный путь к правильному файлу cpan.

perl -MCPAN -e shell - это другое решение. Он позволяет явно указать установку perl, для которой вы хотите установить модули.

2

cpan on Windows просто вызывает App::Cpan->run(@ARGV), который должен предоставить вам ту же оболочку, что и другая команда, возможно, с другими настройками. Но я думаю, что это то же самое. Поэтому вы можете использовать и то, и другое. Я предпочитаю только cpan, а затем делать install Name::Module, так как я стараюсь посмотреть, если он установлен раньше и какая версия в оболочке cpan заблаговременно.