. Это довольно просто:
Вот рабочая версия вашего кода:
(async function(){
var response = await superagent.get('...')
console.log(response)
})()
ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]
В Unix:
обычно вы запускаете cpan в своей оболочке:
# cpan
и введите
install Chocolate::Belgian
или в короткой форме:
cpan Chocolate::Belgian
В Windows:
Если вы используете ActivePerl для Windows, PPM (Perl Package Manager) имеет почти такую же функциональность, как CPAN.pm.
blockquote>Пример:
# 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 ).
Иногда вы можете использовать yum search foo
для поиска относительного модуля perl, а затем использовать yum install xxx
для установки.
На ubuntu большинство модулей perl уже упакованы, поэтому установка выполняется намного быстрее, чем большинство других систем, которые необходимо скомпилировать.
Чтобы установить Foo::Bar
в командной строке, например, обычно вы просто выполните:
sudo apt-get install libfoo-bar-perl
К сожалению, не все модули следуют этому соглашению об именах.
Попробуйте App :: cpanminus :
# cpanm Chocolate::Belgian
Это здорово для того, чтобы просто установить материал. Он не обеспечивает ни один из более сложных функций CPAN или CPANPLUS, поэтому он прост в использовании, если вы знаете, какой модуль вы хотите установить. Если у вас еще нет cpanminus, просто введите:
# cpan App::cpanminus
, чтобы установить его.
Также возможно установить его без использования cpan. Основная процедура начальной загрузки -
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
. Для получения дополнительной информации перейдите на страницу App :: cpanminus и посмотрите раздел об установке.
На Fedora Linux
или Enterprise Linux
, yum
также отслеживает зависимости библиотеки perl. Таким образом, если модуль perl доступен, а пакет rpm экспортирует эту зависимость, он установит для вас правильный пакет.
yum install 'perl(Chocolate::Belgian)'
(скорее всего, пакет perl-Chocolate-Belgian или пакет ChocolateFactory )
Много раз случалось так, что команда cpan install терпит неудачу с сообщением типа «make test возвратил плохой статус, не будет устанавливать без силы»
В этом случае следующий способ установки модуля :
perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
Использовать команду 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
Даже он должен работать:
cpan -i module_name
В Windows с дистрибутивом ActiveState Perl используйте команду ppm .
В Fedora вы можете использовать
# yum install foo
, пока Fedora имеет существующий пакет для модуля.
Отто сделал хорошее предложение . Это работает и для 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.
Также см. Да, даже вы можете использовать CPAN . Он показывает, как вы можете использовать CPAN без доступа root или sudo.
Я отмечаю, что некоторые люди предлагают один запуск cpan под sudo. Это было необходимо для установки в системный каталог, но современные версии оболочки CPAN позволяют настроить его для использования sudo только для установки. Это намного безопаснее, так как это означает, что тесты не выполняются как root.
Если у вас есть старая оболочка CPAN, просто установите новый cpan («install CPAN») и перезагрузите оболочку, он должен предложить вам настроить эти новые директивы.
В настоящее время, когда я нахожусь в системе со старым CPAN, первое, что я делаю, это обновление оболочки и настройка ее для этого, чтобы я мог большинство работы моего cpan работают как обычный пользователь.
Кроме того, я настоятельно рекомендую, чтобы пользователи Windows исследовали клубнику Perl . Это версия Perl, которая поставляется в комплекте с предварительно сконфигурированной оболочкой CPAN, а также с компилятором. Он также включает в себя некоторые трудно компилируемые модули Perl с их внешними зависимостями библиотеки C, в частности XML :: Parser. Это означает, что вы можете делать то же самое, что и каждый другой пользователь Perl, когда дело доходит до установки модулей, и все чаще «работает» намного чаще.
Похоже, что у вас уже есть ответ, но я решил, что буду звонить. Это то, что я делаю в некоторых сценариях на сервере 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";
}
}
. Это хорошо работает для меня, может быть, здесь есть что-то, что вы можете использовать.
Уже ответили и приняли ответ - но в любом случае:
IMHO самый простой способ установки модулей CPAN (на unix-подобных системах и не имеет понятия о wondows):
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
Вышеупомянутая установка «установщик модулей CPAN с нулевой конфигурацией» называется cpanm
. (Может потребоваться несколько минут для установки - не прерывайте процесс)
и после - просто:
cpanm Foo
cpanm Module::One
cpanm Another::Module
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
Несколько человек упомянули утилиту 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.
Простое выполнение cpan Foo::Bar
на оболочке будет служить цели.
Самый простой способ для меня - это:
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'
a) автоматическое рекурсивное обнаружение / разрешение / установка зависимостей
b) это оболочка onliner, полезная для сценариев установки
Если вы используете 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
Множество рекомендаций для CPAN.pm
, что здорово, но если вы используете Perl 5.10
, вы также получили доступ к CPANPLUS.pm
, который похож на CPAN.pm
, но лучше.
И, конечно же, он доступен на CPAN
для людей, которые все еще используют старые версии Perl. Почему бы не попробовать:
$ cpan CPANPLUS
Если вы хотите поместить новый модуль в настраиваемое место, в котором ваша оболочка cpan не настроена на использование, возможно, это будет удобно.
#wget <URL to the module.tgz>
##unpack
perl Build.PL
./Build destdir=$HOME install_base=$HOME
./Build destdir=$HOME install_base=$HOME install