Я использую 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.
- Что может быть проблема здесь?
- Есть ли альтернативные способы проверки зависимости в
https://metacpan.org/
самом сайте? - Даже если приведенный выше скрипт выполняется правильно, нужно ли добавлять все модули зависимости вручную? Это необходимо?