Я использую Номинал :: Пакер в OSX и Linux для создания двоичных файлов для некоторых приложений, использующих Paws.
Я звоню пп так:
pp -o build_cluster -x -c -I lib/ @ppdeps bin/build_cluster
ppdeps
содержит список модулей, которые привели к сбою pp
, поскольку они не были обнаружены во время сборки. Единственный известный мне способ выполнить эту работу - это запустить pp
несколько раз, дождаться его отказа, а затем добавить модуль, на который он жалуется, в ppdeps
.
Мой вопрос: есть ли лучший способ сделать это или способ заранее получить полный список зависимостей? Я мог бы написать сценарий, чтобы делать то, что я делал вручную, но если есть способ получше, я был бы рад его узнать.
содержание ppdeps:
-I local/lib/perl5/
-a fakename.conf
-M Paws::Net::Caller
-M Paws::Net::RetryCallerRole
-M Paws::Net::APIResponse
-M Paws::Net::S3Signature
-M Paws::Net::RestXmlCaller
-M Paws::Net::RestXMLResponse
-M Paws::API::Caller
-M Paws::API::EndpointResolver
-M Paws::S3
-M Paws::S3::ListBuckets
-M Paws::S3::ListBucketsOutput
-M Paws::Route53
-M Method::Generate::BuildAll
-M IO::Socket::SSL
-M Net::SSLeay
-M Archive::Zip::ZipFileMember
Это не закончено, я все еще создаю его для этого приложения. Чем больше модулей Paws включено в приложение, тем больше появляется скрытых зависимостей.
Это было проблемой только с приложениями, которые используют Paws и, в меньшей степени, Moose.
Вот как я делаю сборку.
pp -o build/run -B -I local/lib/perl5/ script/app.pl
Я должен был опубликовать содержимое ppdeps, извините за это. Обновлю вопрос. Я уже делаю -l local / lib / perl5 /. Не работает. Я также должен отметить, что у меня нет проблем с pp, за исключением случаев, когда это касается Paws или, в меньшей степени, Moose.