5

RakudoとParrotを作成して、Perl 6の学習を開始できるようにしました。Perl6の本をダウンロードして、最初のデモプログラム(テニストーナメントの例)を楽しく入力しました。

プログラムを実行しようとすると、エラーが発生します。

Divide by zero
current instr.: '' pc -1 ((unknown file):-1)

perl6ビルドディレクトリにバイナリがあります。rakudoビルドディレクトリの下にscriptsディレクトリを追加しました:

  rakudo
  |- perl6
  \- scripts
     |- perlbook_02.01
     \- scores

スクリプトディレクトリから単純なhelloworldスクリプトを実行しようとすると、同じエラーが発生します。

#!/home/daotoad/rakudo/perl6

use v6;
say "Hello nurse!";

ただし、rakudoディレクトリから実行すると機能します。

設定する必要のある環境変数がいくつかあるように思えますが、それらに何があり、どのような値を与えるかについては迷っています。

何かご意見は?

アップデート:

この時点ではrakudoをインストールするのではなく、ビルドディレクトリから実行するだけです。これにより、さまざまなPerl6ビルドを試してみるときに、システムへの変更を最小限に抑えることができます(Rakudo *は間もなくリリースされます)。

READMEファイルは、これが可能であると私に考えさせました。

   $ cd rakudo
   $ perl Configure.pl --gen-parrot
   $ make

これにより、現在の(rakudo)ディレクトリに「perl6」または「perl6.exe」実行可能ファイルが作成されます。次に、次のようなコマンドを使用して、ビルドディレクトリからプログラムを実行できます。

   $ ./perl6 hello.pl

読み直してみると、ビルドディレクトリの外でスクリプトを実行する前にrakudoをインストールする必要があるという事実への参照が見つかりました。

ビルドされると、Rakudoのmake installターゲットは、Rakudoとそのライブラリを作成に使用されたParrotインストールにインストールします。この手順が実行されるまで、上記で作成された「perl6」実行可能ファイルはmake、Rakudoのビルドディレクトリのルートからのみ確実に実行できます。実行後make install、インストールされた実行可能ファイルは任意のディレクトリから実行できます(作成に使用されたParrotインストールがそのまま残っている限り)。

したがって、Perl6で遊ぶにはrakudoをインストールする必要があるようです。

次の質問は、rakudoがどこにインストールされているかです。READMEは、ビルドに使用されたParrotインストールについて説明しています。

--gen-parrotビルドでこのオプションを使用しました。これはにインストールされるようrakudo/parrot-installです。だからrakudoは私のにインストールされますrakudo\parrot-installか?

Makefileを読むと、この結論が裏付けられます。を実行しましmake installたが、にインストールされましparrot_installた。

ビルド/インストールプロセスのこの部分は、Perl6の初心者にはわかりません。物事を明確にするためのドキュメントパッチを用意できるかどうかを確認します。

頭のてっぺんから:

  1. make installビルド外でスクリプトを実行する前に実行することを強調します。この要件は現在、段落の途中に埋もれており、ドキュメントをざっと読んでいる人(私)が簡単に見逃してしまう可能性があります。

  2. --gen-parrotwithがperl6をディレクトリにインストールすることを明示的に記述しparrot_installます。

4

2 に答える 2

5

落道で走っmake installた?

ビルド ディレクトリの外で Rakudo を使用できるようにするためには、これを実行する必要があります (そのため、README とhttp://rakudo.org/how-to-get-rakudoの両方で実行するように指示されています。

デフォルトのインストール場所はローカルです (rakudo ディレクトリ内の parrot_install/bin/perl にあります)。

于 2010-06-29T22:17:33.893 に答える
3

あなたの更新に応じて、README を更新しました。

http://github.com/rakudo/rakudo/commit/261eb2ae08fee75a0a0e3935ef64c516e8bc2b98

以前よりも明確になったことを願っています。まだ改善の余地がある場合は、rakudobug@perl.org にパッチを提出することを検討してください。

于 2010-06-30T10:02:37.180 に答える