2015-09-19 6 views
0

Я уже прочитал related threads like these, но они не полностью отражают нашу ситуацию.Установка модулей cpan или cpanm на машине за брандмауэром без подключения к Интернету

  1. Это устройство на брандмауэре. Нет доступа к сети. Мы можем передавать файлы ftp в папки и устанавливать модули оттуда.
  2. У нас есть CHMOD 777 для наших пользователей в некоторых папках. Мы можем установить модули Perl, если мы их локально создадим, загрузив соответствующие файлы .pm. Но когда эти файлы не могут быть установлены, у нас нет cpan или cpanm.

Я хотел бы установить, например, HTML::Restrict. Если я загружаемый + установить вещь, Restrict.pm дает мне эту ошибку:

/lib/HTML/Restrict.PM:328: Unknown command paragraph "=encoding UTF-8" 

Чтение немного онлайн предполагает, что это может быть старая проблема Perl. Мы используем 5.8.x. Наши собственные машины-разработчики имеют роскошь 5.16.x и доступ в Интернет, поэтому модуль установки является cinch. Во всяком случае, у одной из моих старых машин также есть 5.8.x и установка модуля через cpanminus, работающий там (с Интернетом).

Итак, вопрос: можно ли установить «cpanminus» (cpanm) через FTP, а затем загрузить отдельные файлы модуля на сервер через FTP тоже, а затем перейти в оболочку и установить модули через cpanm, направляя его к соответствующему .pm файлы?

Спасибо за любые указатели.

+0

Вы неправильно поняли мой вопрос. Я хочу, чтобы cpanm устанавливал модули, на которых я указываю на локальном сервере. Не для cpanm искать эти модули онлайн, как это делает по умолчанию. Надеюсь, это яснее. – PKHunter

+0

Я до сих пор не уверен, чего ты хочешь. Конкретная проблема с установкой 'HTML :: Restrict' связана с [старой ошибкой в' Pod :: Perldoc'] (https://rt.cpan.org/Public/Bug/Display.html?id=26121), но это не влияет на вашу способность устанавливать модули в целом. Я не вижу, какую разницу вы думаете, что установка 'App :: cpanminus' сделает – Borodin

+0

Спасибо за эту информацию. С Perl 5.8.x, есть ли способ исправить эту старую проблему Pod :: Perldoc? – PKHunter

ответ

1

Я до сих пор не понимаю ваше мнение, но вы можете получить автономную версию cpanm с помощью curl. Например

curl -sS --location https://cpanmin.us/ --output cpanm 

, то вы должны быть в состоянии просто скопировать его на целевую машину, поставить его на пути, и сделать

cpanm HTML-Restrict-2.2.2.tar.gz 

, но я сомневаюсь, что вы найдете какие-либо изменения к специфическому ошибки вы получаете

2

Вы должны взглянуть на perldoc perlmodinstall, в котором подробно рассказывается о том, как установить модуль из его дистрибутива. Из этого следует, что должно быть знакомый INCANTATION

  • Decompress
  • Распаковка
  • Сложение
  • Test
  • Установите

Предполагая, что вы находитесь на системе Linux, это обычно занимает принять форма

  • gzip -d My-Module-Distribution.tar.gz
  • tar -xof My-Module-Distribution.tar
  • perl Makefile.PL
  • make
  • make test
  • make install

Но после стадии Распаковка вы часто будете найти README файл или другой текстовый файл, который будет описывать любые непригодные ual шаги, которые необходимо предпринять

Очевидно, некоторые из этих шагов могут быть объединены.Например, большинство людей, вероятно, захотите использовать

tar -xvfz My-Module-Distribution.tar.gz 

, чтобы избежать необходимости вызывать gzip отдельно. Кроме того, система сделает вынудит этап сборки в качестве предварительного условия, если вы используете только

make test 

без предшествующего make

Связанный документ имеет много, чтобы сказать о том, как установить на других платформах, вы должны не выполняйте вариант Linux

+0

Это то, что мы уже делаем. Это был не вопрос. – PKHunter