部署自包含的Perl 6脚本

时间:2016-08-29 11:22:19

标签: perl6 raku

部署使用LWP::Simple等外部模块的Perl 6脚本的最佳策略是什么?

例如在Perl中我们有PAR。 Perl 6中是否有一个选项可以部署一个自包含的脚本,用户只需要在不安装Rakudo和外部Perl 6模块的情况下运行它?

1 个答案:

答案 0 :(得分:6)

您可以创建.jar文件,然后使用java来执行代码。从那里,有很多工具可以将.jar转换为二进制文件(或Windows中的.exe)。

语法是:

perl6 --target=jvm  --output=your_file.jar your_file.pl6

如果那个剧本是微不足道的

say "this is running as a .jar file"

您应该可以运行java -jar your_file.jar并获取

this is running as a .jar file

在macOS上,有一点皱纹,因为此功能要求您使用Java 1.7+而不是Mac的系统Java构建perl6(Rakudo Star)。因此,系统上的版本可能未附带JVM支持。

如果您正在使用homebrew,请按以下步骤操作:

  1. brew uninstall perl6
  2. brew tap homebrew/versions(因此您可以安装Java 1.7)
  3. brew install Caskroom/versions/java7(安装Java 1.7)
  4. 可选:在终端中打开一个新选项卡(如果由于某种原因导致Java 1.6仍在使用中,则只需执行此操作。)
  5. brew install perl6 --with-jvm(使用Java虚拟机支持构建perl6