Я сгенерировал радостное приложение с командой mojo generate app first-app
. Он сгенерировал структуру приложения, которая должна позволять запускать пример при запуске сервера dev с morbo ./script/first-app
.
Структура файла выглядит следующим образом: структура приложения mojo
Моя ошибка при запуске morbo ./script/first-app
в корне каталога проекта - эта ошибка:
Can't load application from file "/home/djnorrisdev/Documents/mojo-practice/first-app/script/first-app":
Can't find application class "first-app" in @INC. (
/home/djnorrisdev/Documents/mojo-practice/first-app/lib
/home/djnorrisdev/perl5/perlbrew/perls/perl-5.30.0/lib/site_perl/5.30.0/x86_64-linux
/home/djnorrisdev/perl5/perlbrew/perls/perl-5.30.0/lib/site_perl/5.30.0
/home/djnorrisdev/perl5/perlbrew/perls/perl-5.30.0/lib/5.30.0/x86_64-linux
/home/djnorrisdev/perl5/perlbrew/perls/perl-5.30.0/lib/5.30.0)
Compilation failed in require at (eval 72) line 1
(Разрывы строк добавлены для удобства чтения. Строка с отступом является продолжением предыдущей строки.)
Я попытался использовать полный путь для morbo (как упомянуто в 6-летнем посте SO),но это дает ту же ошибку, что и выше. Эта команда была такой: /home/djnorrisdev/perl5/perlbrew/pls/perl-5.30.0/bin/morbo ./script/first-app
Я предполагаю, что любой, кто знаком с полным приложением mojolicious, будет знаком с файлом сценария, но вот содержимое script/first-app
:
#!/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('first-app');
Учитывая, что это приложение было сгенерировано с пристрастием, я бы предположил, что оно не должно получить ошибку @INC и работать без проблем с morboУ кого-нибудь есть понимание этого?