2012-01-12 3 views
0

У меня есть скрипт и все внешние модули локальны, поэтому я могу упаковать весь свой скрипт в zip и работать на всех машинах без необходимости установки всех модулей на разных машинах. я:perl упаковка dbd mysql module в скрипте

use lib "$Bin/cpan"; 

Я пытаюсь инициировать подключение к базе данных MySQL, поэтому мне нужно установить DBD, DBI и MySQL локально, как я могу это сделать? Я пробовал так же путем копирования файлов .pm и он либо дает мне

DBD::mysql initialisation failed: Can't locate object method "driver" via package "DBD::mysql" at C:/Perl/lib/DBI.pm line 815. 

или

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC 
+2

Вы также копируете библиотеки 'DBD :: mysql' (' DBD/mysql/mysql.so' или 'DBD/mysql/mysql.dll')? – mob

ответ

3

Просто передачи архивов, вероятно, не работает, особенно если вы переносите в различных операционных систем или архитектур (кроме просто отсутствующих файлов). Я рекомендую использовать Carton для автоматизации управления зависимостями. Под капотом он использует local::lib (отличный модуль для разработки и самостоятельного развертывания) и cpanm, чтобы выполнить эту работу.

Смежные вопросы