2016-08-29 9 views
11

Jaka jest najlepsza strategia wdrażania skryptu Perl 6, który korzysta z zewnętrznych modułów, takich jak LWP::Simple?Wdrażanie samodzielnego skryptu Perl 6

Na przykład w Perlu mamy PAR. Czy w Perlu 6 istnieje opcja wdrażania samodzielnego skryptu, którego użytkownik potrzebuje tylko do uruchomienia bez przeszkadzania sobie w instalacji programów Rakudo i zewnętrznych modułów Perla 6?

Odpowiedz

4

Można utworzyć plik .jar, a następnie użyć kodu Java do wykonania kodu. Stamtąd istnieje wiele narzędzi do konwertowania pliku .jar do pliku binarnego (lub .exe w systemie Windows).

Składnia to:

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

Jeśli skrypt były trywialne

say "this is running as a .jar file" 

Powinieneś być w stanie uruchomić java -jar your_file.jar i dostać

this is running as a .jar file 

na MacOS, tam to trochę zmarszczek, ponieważ ta funkcja wymaga zbudowania perl6 (Rakudo Star) z Javą 1.7+ zamiast systemu Mac w systemie Java. Z tego powodu wersja w twoim systemie mogła nie zostać dostarczona z obsługą JVM.

Jeśli używasz homebrew, oto co zrobić, aby naprawić:

  1. brew uninstall perl6
  2. brew tap homebrew/versions (dzięki czemu można zainstalować Java 1.7)
  3. brew install Caskroom/versions/java7 (zainstalować Java 1.7)
  4. opcjonalnie: otwórz nową kartę w terminalu (musisz to zrobić tylko wtedy, gdy z jakiegoś powodu pojawi się błąd, że Java 1.6 jest nadal używana.)
  5. brew install perl6 --with-jvm (kompilacja perl6 z obsługą Java Virtual Machine)