Мне нужен скрипт perl, который будет автоматически устанавливать все модули cpan при запуске скрипта perl. Можете ли вы помочь этому?Установить модули cpan через perl-скрипт?
ответ
Клиент CPAN
- это всего лишь Perl module, который обернут инструментом командной строки. Поэтому вы вызываете его непосредственно из скрипта Perl.
Однако для установки новых модулей могут потребоваться системные администраторы. Один из способов избежать этого - использовать local::lib
или запросить у пользователя необходимые привилегии. В Unixes вы можете отказаться от запуска своего скрипта, если он не запущен с правами root. Тем не менее, это открывает множество проблем безопасности, и их следует избегать, если это возможно.
Достаточно разумное решение - потребовать от ваших пользователей установить cpanm
client и указать свои зависимости в cpanfile
. Затем ваши пользователи должны сделать только cpanm --installdeps /dir/of/your/script
.
Но если мы уже переживаем все эти проблемы, вы также можете создать надлежащее распределение CPAN. Вам не нужно загружать его в CPAN, но вы можете распространять tarball и устанавливать его пользователями. У этого есть много преимуществ: Зрелые инструментальные цепочки, автоматическое тестирование и замечательные помощники, такие как Dist::Zilla
, которые делают создание бриза.
Как я могу записать результат установки – user3248333
Посмотрите на источник для инструмента 'cpan'. Это просто программа Perl. –
Я нахожусь на победе 7. И я до сих пор не знаю, как вы ответили на вопрос OP. Мне нужно установить несколько модулей внутри моего скрипта во время выполнения на ПК пользователей. Я также попробовал предложение ниже, и это не сработало. Мой perl жаловался, что мне не хватает CPAN :: Shell. Я нахожусь на perl ver 5.18.2. Если скрипт для установки отсутствующих модулей требует от пользователей установки другого модуля 'cpanm', то что-то не так с этим предложением? Я не могу ожидать, что мои пользователи установят что-то простое приложение, такое как Firefox или Chrome. – YouHaveaBigEgo
Использование CPAN::Shell, из документации:
CPAN::Shell->install("Acme::Meta");
любая возможность устанавливать зависимости модуля perl через CPAN :: Shell в perl-скрипте – user3248333
Я хочу добавить прокси для cpanmodule через perl-скрипт ,как мне это сделать? – user3248333
Прочитайте документацию, в которой четко указано, как это сделать. Если вы хотите использовать этот инструмент, прочитайте руководство –
- 1. Как установить модули CPAN
- 2. Не удается установить модули CPAN
- 3. Установите все модули зависимости perl через cpan
- 4. Как установить модули CPAN при использовании perlbrew?
- 5. Perl: Невозможно установить/использовать модули CPAN
- 6. Как установить устаревшие модули CPAN Perl
- 7. Установите модули Perl, которые требуют настраиваемых опций через CPAN
- 8. Модули CPAN претендуют на установку, но не
- 9. Установите модули CPAN из локального зеркала без CPAN :: Mini
- 10. Невозможно установить Crypt :: OpenPGP через Perl CPAN
- 11. Как установить локальные модули с помощью инструмента cpan?
- 12. Как установить модули cpan с помощью системной команды - perl
- 13. Не удалось установить perl CPAN-модули на Solaris 10
- 14. Почему вы не используете модули CPAN?
- 15. Установленные модули CPAN в проблемном месте
- 16. Как разработать модули cpan без их установки?
- 17. Удалить модули Perl с CPAN на Mac
- 18. установить модуль CPAN
- 19. Как установить модули Perl без привилегий root?
- 20. Как установить дополнительные модули-модули?
- 21. Как установить модули через асфальтоукладчик в python?
- 22. Какие модули CPAN должны быть установлены для этого сценария?
- 23. CPAN установить в каталог temp?
- 24. cpan установить переключатель не удалось
- 25. cpan LWP failed 03modlist.data.gz
- 26. CPAN установить то CPAN сила установки производит две копии
- 27. не может установить модуль CPAN под Cygwin
- 28. Попытка установить модули с Perl
- 29. Как установить модули Perl на ограниченном сервере?
- 30. Начальная конфигурация CPAN
Какая платформа вы? Я могу сделать предложение, как это сделать на linux, но это не строго perl-based. – Jeef
На самом деле я сейчас работаю в Windows, но если вы можете сказать в Linux, то и это нормально для меня. – user3248333