在系统 CLI 中使用 Mojolicious 命令

Using Mojolicious commands in system CLI

我的应用程序 Alambic 使用 The Great Mojolicious 框架,并定义了可以执行的命令,例如$ script/alambic alambic init.

现在,当我查看 Joel Berger 的 Galileo 和其他伟大的作品时,我发现他们有一个 system 命令,可以在 shell,例如$ galileo init。我查看了 mojolicious 文档,但没有发现对我的应用程序有任何帮助。现在我什至不确定是 Mojolicious 还是 Perl CPAN 构建过程使之成为可能。任何提示将不胜感激。

我将在此处提供完整的答案作为对@simbabque 评论的补充。

因此,对于 Mojolicious 应用程序,必须使其可安装(即 cpan-aware),以便将二进制文件复制到路径中的目录。更具体地说,对于 Alambic,我必须:

  1. 设置InstallablePaths(我决定选择Module::Build),参见the documentation for the module
  2. 创建 Build.PL 文件
  3. 运行 Module::Build 构建模块的顺序:

perl Build.PL
./Build manifest
./Build
./Build test
./Build install

在安装步骤中,二进制文件被复制到 $PATH 中的 Perl 管理的目录中。在该步骤之后,alambic 命令在我的 shell.

中作为命令可用

注意:要在 CLI 上使用 her/his 自己的命令,Mojolicious 应用程序当然必须 define one or more commands