Я пытаюсь использовать коробку в качестве контейнера для развертывания. Но у меня возникла небольшая проблема. Я не знаю, как установить частные модули.Как добавить пользовательские модули в карточку perl?
Создан быстрый модуль теста:
h2xs -AX Foo::Bar
tree Foo-Bar/
Foo-Bar/
├── Changes
├── lib
│ └── Foo
│ └── Bar.pm
├── Makefile.PL
├── MANIFEST
├── README
└── t
└── Foo-Bar.t
Упакованный его: tar cvfz Foo-Bar-0.01.tar.gz Foo-Bar/
Скопировал пакет vendor/cache
каталога.
ls vendor/cache/
Foo-Bar-0.01.tar.gz Try-Tiny-0.18.tar.gz
cat cpanfile
requires 'Foo::Bar', '0.01';
requires 'Try::Tiny', '0.18';
carton install --cached
Installing modules using /home/donpedro/Garbage/Carton/cpanfile
! Couldn't find module or a distribution Foo::Bar (0.01)
Successfully installed Try-Tiny-0.18
! Installing the dependencies failed: Module 'Foo::Bar' is not installed
! Bailing out the installation for /home/donpedro/Garbage/Carton/.
1 distribution installed
Installing modules failed
Пробный модуль по умолчанию Milla также (учебный пример, milla new Dist-Name), но результатов нет. В документации упоминается, что для модулей DarkPan просто отбросьте модуль в каталог поставщика/кеша, который я пытаюсь сделать. Официальные модули CPAN могут быть просто удалены в каталог поставщика/кеша.
Что делать дальше или как решить мою проблему? :)
Edit: Miyagawa и lejeunerenard в канале коробки IRC дал мне эту информацию: Для этого, чтобы работать в данный момент, нужна коробка 1,1 (текущая стабильная 1,0) и новая версия cpanfile Dev. cpanfile имеет новую опцию -dist => '/path/to/Foo-Bar.tar.gz' argument for the requires method
Поскольку я слишком ленив, чтобы быть ранним усыновителем, я поеду с Carton для пакетов CPAN и cpanm для частных пакетов.
Спасибо miyagawa и lejeunerenard.
Ответьте на вопрос в поле * reply * и установите его как «принятый» ответ, чтобы рассказать миру, что этот вопрос закрыт :) – smonff