Как установить модуль класса :: Method :: Modifiers в Perl? [Дубликат]

2017 ответ: теперь вы можете делать то, что хотите, в каждом текущем браузере и узле

. Это довольно просто:

  • Вернуть обещание
  • Используйте 'await' , в котором JavaScript ожидает, что обещание будет разрешено в vlue (например, hTTP-ответ)
  • Добавьте 'async' для родительской функции

Вот рабочая версия вашего кода:

(async function(){

var response = await superagent.get('...')
console.log(response)

})()

ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]

140
задан 16 revs, 5 users 43% 4 March 2015 в 21:46
поделиться

23 ответа

В Unix:

обычно вы запускаете cpan в своей оболочке:

# cpan

и введите

install Chocolate::Belgian

или в короткой форме:

cpan Chocolate::Belgian

В Windows:

Если вы используете ActivePerl для Windows, PPM (Perl Package Manager) имеет почти такую ​​же функциональность, как CPAN.pm.

Пример:

# ppm ppm> search net-smtp ppm> install Net-SMTP-Multipart

см. Как установить модули Perl? в FAQ CPAN

Многие дистрибутивы отправляют много модулей perl как пакетов.

  • Gentoo: category dev-perl
  • Debian: apt-cache search 'perl$'

Вы должны всегда отдать предпочтение им, поскольку вам выгодны автоматические обновления (безопасность) и простота удаления. Это может быть довольно сложно с помощью самого инструмента cpan .

Для Gentoo есть хороший инструмент под названием g-cpan , который строит / устанавливает модуль из CPAN и создает для вас пакет Gentoo ( ebuild ).

172
ответ дан Benedikt Waldvogel 1 September 2018 в 00:36
поделиться

Иногда вы можете использовать yum search foo для поиска относительного модуля perl, а затем использовать yum install xxx для установки.

1
ответ дан 2 revs, 2 users 67% 1 September 2018 в 00:36
поделиться

На ubuntu большинство модулей perl уже упакованы, поэтому установка выполняется намного быстрее, чем большинство других систем, которые необходимо скомпилировать.

Чтобы установить Foo::Bar в командной строке, например, обычно вы просто выполните:

sudo apt-get install libfoo-bar-perl

К сожалению, не все модули следуют этому соглашению об именах.

2
ответ дан 2 revs, 2 users 80% 1 September 2018 в 00:36
поделиться

Попробуйте App :: cpanminus :

# cpanm Chocolate::Belgian

Это здорово для того, чтобы просто установить материал. Он не обеспечивает ни один из более сложных функций CPAN или CPANPLUS, поэтому он прост в использовании, если вы знаете, какой модуль вы хотите установить. Если у вас еще нет cpanminus, просто введите:

# cpan App::cpanminus

, чтобы установить его.

Также возможно установить его без использования cpan. Основная процедура начальной загрузки -

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

. Для получения дополнительной информации перейдите на страницу App :: cpanminus и посмотрите раздел об установке.

55
ответ дан 2 revs, 2 users 81% 1 September 2018 в 00:36
поделиться

На Fedora Linux или Enterprise Linux, yum также отслеживает зависимости библиотеки perl. Таким образом, если модуль perl доступен, а пакет rpm экспортирует эту зависимость, он установит для вас правильный пакет.

yum install 'perl(Chocolate::Belgian)'

(скорее всего, пакет perl-Chocolate-Belgian или пакет ChocolateFactory )

2
ответ дан 2 revs, 2 users 89% 1 September 2018 в 00:36
поделиться

Много раз случалось так, что команда cpan install терпит неудачу с сообщением типа «make test возвратил плохой статус, не будет устанавливать без силы»

В этом случае следующий способ установки модуля :

perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
4
ответ дан 2 revs, 2 users 91% 1 September 2018 в 00:36
поделиться

Использовать команду cpan как cpan Modulename

$ cpan HTML::Parser

Для автоматической установки зависимостей следуйте ниже

$ perl -MCPAN -e shell
cpan[1]>  o conf prerequisites_policy follow
cpan[2]>  o conf commit
exit

Я предпочитаю App :: cpanminus , он автоматически устанавливает зависимости. Просто сделайте

$ cpanm HTML::Parser
3
ответ дан 3 revs, 2 users 97% 1 September 2018 в 00:36
поделиться

Даже он должен работать:

cpan -i module_name
3
ответ дан 3 revs, 3 users 50% 1 September 2018 в 00:36
поделиться

В Windows с дистрибутивом ActiveState Perl используйте команду ppm .

1
ответ дан brian d foy 1 September 2018 в 00:36
поделиться

В Fedora вы можете использовать

# yum install foo

, пока Fedora имеет существующий пакет для модуля.

3
ответ дан Bruce Alderman 1 September 2018 в 00:36
поделиться

Отто сделал хорошее предложение . Это работает и для Debian, и для любого другого производного Debian. Недостатком является то, что нужно делать, когда поиск apt-cache не находит что-то.

$ sudo apt-get install dh-make-perl build-essential apt-file
$ sudo apt-file update

Тогда, когда у вас есть случайный модуль, который вы хотите установить:

$ cd ~/some/path
$ dh-make-perl --build --cpan Some::Random::Module
$ sudo dpkg -i libsome-random-module-perl-0.01-1_i386.deb

Это даст вам пакет deb, который вы можете установить для получения Some :: Random :: Module. Одно из больших преимуществ здесь - это справочные страницы и образцы сценариев в дополнение к самому модулю, которые будут размещены в выбранном вами дистрибутиве. Если дистрибутив когда-либо выходит с официальным пакетом для более новой версии Some :: Random :: Module, он будет автоматически установлен, когда вы apt-get upgrade.

7
ответ дан Community 1 September 2018 в 00:36
поделиться

Также см. Да, даже вы можете использовать CPAN . Он показывает, как вы можете использовать CPAN без доступа root или sudo.

9
ответ дан Corion 1 September 2018 в 00:36
поделиться

Я отмечаю, что некоторые люди предлагают один запуск cpan под sudo. Это было необходимо для установки в системный каталог, но современные версии оболочки CPAN позволяют настроить его для использования sudo только для установки. Это намного безопаснее, так как это означает, что тесты не выполняются как root.

Если у вас есть старая оболочка CPAN, просто установите новый cpan («install CPAN») и перезагрузите оболочку, он должен предложить вам настроить эти новые директивы.

В настоящее время, когда я нахожусь в системе со старым CPAN, первое, что я делаю, это обновление оболочки и настройка ее для этого, чтобы я мог большинство работы моего cpan работают как обычный пользователь.

Кроме того, я настоятельно рекомендую, чтобы пользователи Windows исследовали клубнику Perl . Это версия Perl, которая поставляется в комплекте с предварительно сконфигурированной оболочкой CPAN, а также с компилятором. Он также включает в себя некоторые трудно компилируемые модули Perl с их внешними зависимостями библиотеки C, в частности XML :: Parser. Это означает, что вы можете делать то же самое, что и каждый другой пользователь Perl, когда дело доходит до установки модулей, и все чаще «работает» намного чаще.

27
ответ дан Dave Rolsky 1 September 2018 в 00:36
поделиться

sudo perl -MCPAN -e 'install Foo'

9
ответ дан dreeves 1 September 2018 в 00:36
поделиться

Похоже, что у вас уже есть ответ, но я решил, что буду звонить. Это то, что я делаю в некоторых сценариях на сервере Ubuntu (или debian)

#!/usr/bin/perl

use warnings;
use strict;

#I've gotten into the habit of setting this on all my scripts, prevents weird path issues if the script is not being run by root
$ENV{'PATH'} = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin';

#Fill this with the perl modules required for your project
my @perl = qw(LWP::Simple XML::LibXML MIME::Lite DBI DateTime Config::Tiny Proc::ProcessTable);

chomp(my $curl = `which curl`);

if(!$curl){ system('apt-get install curl -y > /dev/null'); }

chomp(my $cpanm = system('/bin/bash', '-c', 'which cpanm &>/dev/null'));

#installs cpanm if missing
if($cpanm){ system('curl -s -L http://cpanmin.us | perl - --sudo App::cpanminus'); }

#loops through required modules and installs them if missing
foreach my $x (@perl){
    eval "use $x";
    if($@){
        system("cpanm $x");
        eval "use $x";
    }
}

. Это хорошо работает для меня, может быть, здесь есть что-то, что вы можете использовать.

0
ответ дан Ed Dunn 1 September 2018 в 00:36
поделиться

Уже ответили и приняли ответ - но в любом случае:

IMHO самый простой способ установки модулей CPAN (на unix-подобных системах и не имеет понятия о wondows):

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

Вышеупомянутая установка «установщик модулей CPAN с нулевой конфигурацией» называется cpanm. (Может потребоваться несколько минут для установки - не прерывайте процесс)

и после - просто:

cpanm Foo
cpanm Module::One
cpanm Another::Module
6
ответ дан jm666 1 September 2018 в 00:36
поделиться

2 способа, о которых я знаю:

ИСПОЛЬЗОВАНИЕ PPM:

С Windows (ActivePerl) я использовал ppm

из командной строки типа ppm , В приглашении ppm ...

ppm> install foo

или

ppm> search foo

, чтобы получить список доступных модулей foo. Тип справки для всех команд

ИСПОЛЬЗОВАНИЕ CPAN:

вы также можете использовать CPAN, как это (системы * nix):

perl -MCPAN -e 'shell'

получает подсказку

cpan>

в приглашении ...

cpan> install foo  (again to install the foo module)

введите h, чтобы получить список команд для cpan

3
ответ дан JWHEAT 1 September 2018 в 00:36
поделиться

Несколько человек упомянули утилиту cpan, но это больше, чем просто запуск оболочки. Просто дайте ему модули, которые вы хотите установить, и пусть это будет работать.

$prompt> cpan Foo::Bar

Если вы не дадите никаких аргументов, он запустит оболочку CPAN.pm. Это работает в Unix, Mac, и должно быть прекрасно в Windows (особенно Strawberry Perl).

Есть еще несколько вещей, которые вы можете сделать с помощью инструмента cpan. Ниже приведен список текущих функций (которые могут быть более новыми, чем тот, который поставляется с CPAN.pm и perl):

-a
Creates the CPAN.pm autobundle with CPAN::Shell->autobundle.

-A module [ module ... ]
Shows the primary maintainers for the specified modules

-C module [ module ... ]
Show the Changes files for the specified modules

-D module [ module ... ]
Show the module details. This prints one line for each out-of-date module (meaning,
modules locally installed but have newer versions on CPAN). Each line has three columns:
module name, local version, and CPAN version.

-L author [ author ... ]
List the modules by the specified authors.

-h
Prints a help message.

-O
Show the out-of-date modules.

-r
Recompiles dynamically loaded modules with CPAN::Shell->recompile.

-v
Print the script version and CPAN.pm version.
13
ответ дан jww 1 September 2018 в 00:36
поделиться

Простое выполнение cpan Foo::Bar на оболочке будет служить цели.

-1
ответ дан Kamal Nayan 1 September 2018 в 00:36
поделиться

Самый простой способ для меня - это:

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'

a) автоматическое рекурсивное обнаружение / разрешение / установка зависимостей

b) это оболочка onliner, полезная для сценариев установки

2
ответ дан Mister X 1 September 2018 в 00:36
поделиться

Если вы используете Ubuntu и хотите установить предварительно упакованный модуль perl (например, geo :: ipfree), попробуйте это:

    $ apt-cache search perl geo::ipfree
    libgeo-ipfree-perl - A look up country of ip address Perl module

    $ sudo apt-get install libgeo-ipfree-perl
20
ответ дан Otto 1 September 2018 в 00:36
поделиться

Множество рекомендаций для CPAN.pm, что здорово, но если вы используете Perl 5.10, вы также получили доступ к CPANPLUS.pm, который похож на CPAN.pm, но лучше.

И, конечно же, он доступен на CPAN для людей, которые все еще используют старые версии Perl. Почему бы не попробовать:

$ cpan CPANPLUS
4
ответ дан serenesat 1 September 2018 в 00:36
поделиться

Если вы хотите поместить новый модуль в настраиваемое место, в котором ваша оболочка cpan не настроена на использование, возможно, это будет удобно.

 #wget <URL to the module.tgz>
 ##unpack
 perl Build.PL
./Build destdir=$HOME install_base=$HOME
./Build destdir=$HOME install_base=$HOME install
1
ответ дан venkrao 1 September 2018 в 00:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: