Форум программистов, компьютерный форум, киберфорум
Perl: Web
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
50 / 35 / 9
Регистрация: 13.06.2019
Сообщений: 205
1

Как установить более новую версию пакета из CPAN на виртуальный хостинг?

19.02.2020, 12:48. Показов 1658. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Возможности на хостинге довольно ограничены. А требуется установить более новый пакет из CPAN и подключить его к существующей программе.

домашняя папка, как я понимаю
/var/www/userxxx/data
DOCUMENT_ROOT:
/var/www/userxxx/data/www/my.site
путь к скрипту:
%{DOCUMENT_ROOT}/my_app/script/my_app

сам скрипт
Perl
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env perl
 
use strict;
use warnings;
 
use Mojo::File 'curfile';
use lib curfile->dirname->sibling('lib')->to_string;
use Mojolicious::Commands;
 
# Start command line interface for application
Mojolicious::Commands->start_app('MyApp');


my.site.error.log
: Can't locate Mojo/File.pm in @INC (you may need to install the Mojo::File module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /.../my_app/script/my_app line 6.
: BEGIN failed--compilation aborted at /.../my_app/script/my_app line 6. End of script output before headers: my_app


Добавлено через 1 час 59 минут
поступило предложение использовать Carton
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2020, 12:48
Ответы с готовыми решениями:

Как Добавить Более Новую Версию Jar?
Возникла потребность использовать более новую версию JavaMail (1.5). Домино уже имеет JavaMail 1.3...

Как установить новую версию DELPHI
Добрый вечер! Хочу изучать Delphi - начал с установки версии 10.3- и в процессе появляется...

Как не отключая обновления запретить замену ядра на более новую версию?
win xp, sp 3, лицензионка постоянно вылетает бсод на ядро ntoskrnl.exe версии 5.1.2600.6368 ,...

Перенос проекта на более новую версию IDE
Хочется заранее задать вопрос - как правильно, и без особых последствий, перенести проект с старой...

2
Невнимательный
2680 / 1100 / 343
Регистрация: 08.02.2013
Сообщений: 6,256
Записей в блоге: 2
19.02.2020, 16:05 2
Цитата Сообщение от mark74 Посмотреть сообщение
предложение использовать Carton
DESCRIPTION
carton is a command line tool to track the Perl module dependencies for your Perl application.
Хостинг предлагает как-то его использовать ?
Если в панели управления хостом, или где-то ещё, никак не предусмотрена установка модулей
для каждого хоста, наверное вряд-ли так просто можно выполнять такие команды....

Максимум добавление модулей вручную, типа по ftp сложить всё в './', если '.' есть в @INC
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
#use utf8;
#use open ':encoding(utf8)';
#binmode(STDOUT, ':utf8');
 
############ можно попробовать изменить @INC
#BEGIN{
#   unshift @INC, '.';
#}
 
print 'Content-type: text/plain; charset=utf-8'.$/.$/;
say for @INC;
Но не так всё просто с xs-модулями, надо думать
XS is an interface description file format used to create an extension interface between Perl and C code (or a C library) which one wishes to use with Perl. The XS interface is combined with the library to create a new library which can then be either dynamically loaded or statically linked into perl.
Возможно хостинг-провайдеры предоставляют что-то типа возможности подачи заявок на установку модулей
, или что-то ещё
0
50 / 35 / 9
Регистрация: 13.06.2019
Сообщений: 205
20.02.2020, 08:28  [ТС] 3
Проверка показала, что:
настройка возможна только через .htaccess
соответственно, нет возможности использовать ScriptAlias
т.е. скрипт должен находиться внутри каталога %{DOCUMENT_ROOT}
но он может обращаться к файлам внутри домашнего каталога
например так: do "$ENV{DOCUMENT_ROOT}/../../my-lib/script1";

x_lab,

Вариант с собственной библиотекой и с конструкцией типа
BEGIN { unshift @INC, "$ENV{DOCUMENT_ROOT}/../../lib" }
мне кажется самым реальным

что касается Carton, на сервере такого нет. Да он и не нужен, как я понял из документации. Идея такая, что в среде разработки, Carton формирует комплект для загрузки в рабочую среду т.е.на вирт.сервер с сохранением всех зависимостей и версий модулей. Идея заманчивая. Надо проверять на практике.

Добавлено через 1 час 56 минут
x_lab,
ну точно, нашлись зависимости которые не понятно как лечить

my.site.error.log
: List::Util object version 1.38 does not match bootstrap parameter 1.53 at /usr/lib/x86_64-linux-gnu/perl/5.20/DynaLoader.pm line 210.
: Compilation failed in require at /usr/lib/x86_64-linux-gnu/perl/5.20/Scalar/Util.pm line 11.
: Compilation failed in require at /var/www/userxxx/data/mylib/Mojo/Base.pm line 11.
: BEGIN failed--compilation aborted at /var/www/userxxx/data/mylib/Mojo/Base.pm line 11.
: Compilation failed in require at /var/www/userxxx/data/mylib/Mojo/File.pm line 2.
: BEGIN failed--compilation aborted at /var/www/userxxx/data/mylib/Mojo/File.pm line 2.
: Compilation failed in require at /var/www/userxxx/data/www/my.site/my_app/script/my_app line 8.
: BEGIN failed--compilation aborted at /var/www/userxxx/data/www/my.site/my_app/script/my_app line 8.
[cgi:error] End of script output before headers: my_app

то есть /var/www/userxxx/data/mylib/List/Util.pm вер.1.53, который я тупо скопировал из локального дистрибутива, оказывается несовместимым. И надо бы версию 1.38, 14 года. Которая запросто может оказаться несовместимой с вызывающим модулем Base.pm. И точно, там в документации фигурирует XS.

Короче, можно конечно ещё Carton глянуть,
но реально или техподдержка поможет или искать другой хостинг.
0
20.02.2020, 08:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2020, 08:28
Помогаю со студенческими работами здесь

Curllib для Си, не могу установить на новую версию MSVS
Господа, уже целую неделю бьюсь, не могу подключить библиотеку curl на Visual studio 2017, на офф...

Не могу установить новую версию Adobe Flash Player
Имеется ноутбук с операционкой Windows XP 32бит SP3,браузер Firefox и антивирус Аваст , при попытке...

Установить более старую версию Оперы
Подскажите като мона исправить или более старую версю оперы поставить ??? чтоб поменьше хавало !

Как установить последнюю версию Firefox, не обновляя старую версию?
Для удаленной работы применяется цифровая подпись, но она работает только в Firefox не выше 51-й...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru