Могу ли я перенести установку Perl с одного компьютера на другой? - PullRequest
2 голосов
/ 01 июня 2010

Я пытаюсь настроить приложение, зависящее от нескольких модулей Perl, но сервер, на который я устанавливаю, не имеет подключения к Интернету. Я читал об автономной установке модулей через ppd-файлы, однако мне пришлось бы разрешить все зависимости по очереди. Тем более утомительно, что у меня нет прямого подключения к Интернету.

Я надеюсь найти решение, в котором я устанавливаю ActivePerl на свой ПК и устанавливаю все нужные мне библиотеки, а затем копирую и вставляю каталоги на мой сервер. Если это просто вопрос исправления некоторых переменных среды, это было бы хорошо. Просто хочу знать окончательный список переменных для изменения. Не уверены, обязательно ли устанавливать библиотеки perl на компьютер, на котором он предназначен для запуска? (Одна - 32-битная платформа, а другая - 64-битная, но на сервере уже запущены различные 32-битные приложения, поэтому я надеюсь, что это не является серьезной проблемой). Для лучшей совместимости я планирую установить ActivePerl в обеих системах и объединить библиотеку. каталоги должны быть идентичны.

Ответы [ 2 ]

2 голосов
/ 22 августа 2012

Ответ был на FAQ по Perl , мой плохой не прошел должным образом.

I copied the perl binary from one machine to another, but scripts don't work.
That's probably because you forgot libraries, or library paths differ.
You really should build the whole distribution on the machine it will
eventually live on, and then type "make install". Most other approaches
are doomed to failure.

One simple way to check that things are in the right place is to print
out the hard-coded @INC that perl looks through for libraries:

    % perl -le 'print for @INC'

If this command lists any paths that don't exist on your system, then
you may need to move the appropriate libraries to these locations, or
create symbolic links, aliases, or shortcuts appropriately. @INC is also
printed as part of the output of

    % perl -V

You might also want to check out "How do I keep my own module/library
directory?" in perlfaq8.
1 голос
/ 01 июня 2010

Из этой ссылки

Иногда вы не сможете используйте любой из методов для установки модули. Это может быть в случае, если вы являются особенно обездоленными пользователь - возможно, вы арендуете сеть место на сервере, где вы не находитесь предоставлены права на что угодно.

Для некоторых модулей возможно установить модуль без компиляции что угодно, и поэтому вы можете просто бросить файл на месте, и он работает. Не вдаваясь в многое из подробно, некоторые модули Perl содержат часть написана на другом языке (такие как C или C ++), а некоторые написано только на Perl. Это последний тип, что этот метод будет работать за. Как ты узнаешь? Ну если есть нет файлов с именем что-то .c и что-то в пакете, шансы являются то, что это модуль, который содержит только код Perl.

В этих случаях вы можете просто распаковать файл, а затем скопируйте только * .pm файлы в каталог, из которого вы будет запускать модули. Два примера этого должно быть достаточно, чтобы проиллюстрировать, как это сделано.

IniConf.pm - замечательный маленький модуль, который позволяет читать информация о конфигурации из Конфигурационный файл в стиле .ini. IniConf.pm является написано только в Perl, и не имеет C часть. Когда вы распаковываете .tar.gz файл, который вы получили от CPAN, вы будете найти несколько файлов там, и один из них называется IniConf.pm. Это единственный файл, который вы на самом деле интересует. Скопируйте этот файл в каталог, где у вас есть Perl программы, которые будут использовать это модуль. Затем вы можете использовать модуль как вы бы, если бы он был установлен `` правильно '' с помощью только строки:

    use IniConf;

Время :: CTime - еще один очень удобный модуль, который позволяет вам печатать время в любой формат, который поражает ваше воображение. Это написано только на Perl, без C составная часть. Вы просто установите его так же, как вы сделали с IniConf, за исключением того, что файл называется CTime.pm, должен быть помещен в подкаталог называется время. Колоны, а также с указанием организации модулей, также указывает на структуру каталогов в вашей файловой системе.

...