Проверка зависимости модуля Perl и добавления вручную - PullRequest
1 голос
/ 19 апреля 2020

Я использую GNU\Linux систему и ниже perl версия уже установлена.

This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

Здесь я хочу установить perl модуль Net::SFTP::Foreign для создания некоторого сценария (скажем, пример transfer_file.pl), который должен передавать файлы с локального сервера на удаленный сервер.

Проблема в том, что у меня нет разрешения на установку модулей. Итак, я подумал: позвольте мне создать каталог lib, в котором я пишу transfer_file.pl, вручную создать каталог / файл Net/SFTP/Foreign.pm внутри lib и добавить содержимое из metacpan. В этом случае я могу использовать что-то подобное в моей строке сценария передачи - #!/usr/bin/perl -I/path/to/the/current/location/lib

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

Опять же, если я добавлю Net/SFTP/Foreign.pm вручную в папку lib, очевидно, что будет зависимость от Net::SFTP::Foreign, поэтому дерево зависимостей я проверяю с помощью Gabor Сценарий Szabo ниже в моей локальной windows системе:

#!/usr/bin/perl
use strict;
use warnings;
use 5.010;

use Data::Dumper;
use MetaCPAN::API;

my $name = 'Net::SFTP::Foreign';

my $mcpan = MetaCPAN::API->new;
my $dist  = $mcpan->release( distribution => $name );
say Dumper $dist;

Когда я выполняю вышеуказанный сценарий, я получаю ошибку ниже:

Failed to fetch 'https://fastapi.metacpan.org/v1/release/Net::SFTP::Foreign': Not Found at C:/Strawberry/perl/site/lib/MetaCPAN/API/Release.pm line 42.
  1. Что может быть проблема здесь?
  2. Есть ли альтернативные способы проверки зависимости в https://metacpan.org/ самом сайте?
  3. Даже если приведенный выше скрипт выполняется правильно, нужно ли добавлять все модули зависимости вручную? Это необходимо?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...