Help us understand the problem. What is going on with this article?


More than 3 years have passed since last update.

Perl 6 Advent Calendar 2015の4日目です。



$ panda
Panda -- Perl 6 Module Installer

    panda <action> [options]

Common options:
    --prefix=/path/to/modules    Place to put modules, executable scripts, etc.

    install        Installs the modules listed on the command line, and their
        --notests    Don't run tests for the modules being installed.
        --nodeps     Skip installing modules' dependencies.

    installdeps    Installs the dependencies of the listed modules, but not the
                   modules themselves.
        --notests    Don't run tests for the dependencies being installed.

    list           Lists all the modules available.
        --verbose      Provide verbose output
        --installed    List only installed modules

    update         Updates the local copy of the module database.

    info           Lists information available on given modules.

    search         Searches the database for module names/descriptions matching
                   the given substring.

    gen-meta       Generates a with supplied options (see below).
        --notests          Specifies that the module whose is being
                           generated doesn't have tests(?)
        --name=A::Name     Specify the module's name
        --auth=JRandom     Specify the author's name
        --ver=v0.1         Specify the module version
        --desc="A desc"    Specify the module description

    smoke          Tests and installs all packages. (Not for typical use.)
        --exclude=A::Name    Specifies a package to skip testing.

    look           Downloads and unpacks the listed modules, afterwards going to
                   them with your shell.

'list', 'update', and 'smoke' don't take a list of module names to
install. 'search' takes a string to search case-insensitively for in the


$ panda --installed --verbose list
Bailador                   [installed]   *       ?  git://
DBIish                     [installed]   *       ?  git://
Debugger::UI::CommandLine  [installed]   *       ?  git://
Digest::MD5                [installed]   0.05    ?  git://
File::Directory::Tree      [installed]   *       ?  git://
File::Find                 [installed]   0.1     ?  git://
File::Temp                 [installed]   0.0.2   ?  git://
Grammar::Debugger          [installed]   *       ?  git://
Grammar::Profiler::Simple  [installed]   0.01    ?  git://
HTTP::Easy                 [installed]   *       ?  git://
HTTP::Status               [installed]   *       ?  git://
JSON::Fast                 [installed]   v0.3    ?  git://
JSON::RPC                  [installed]   0.17.1  ?  git://
JSON::Tiny                 [installed]   *       ?  git://
LWP::Simple                [installed]   0.086   ?  git://
MIME::Base64               [installed]   1.2     ?  git://
PSGI                       [installed]   *       ?  git://
Pod::Coverage              -dependency-  *       ?  git://
Pod::To::HTML              [installed]   *       ?  git://
SVG                        [installed]   *       ?  git://
SVG::Plot                  [installed]   *       ?  git://
Shell::Command             [installed]   *       ?  git://
Template::Mojo             [installed]   v0.1    ?  git://
Template::Mustache         [installed]   *       ?  git://
Terminal::ANSIColor        [installed]   *       ?  git://
Test::Mock                 [installed]   *       ?  git://
URI                        [installed]   v0.1.1  ?  git://
XML::Writer                [installed]   *       ?  git://
p6doc                      [installed]   *       ?  git://
panda                      [installed]   *       ?  git://
ufo                        [installed]   *       ?  git://


Perl 6 Modulesからモジュールを探します

# 検索
$ panda search Green
Green                    0.1.0      Parallel testing utility, it's really

# 大文字小文字区別されないから便利
$ panda search abc
ABC                      *          Toolkit for dealing with ABC music


# インストール
$ panda install Green
==> Fetching Green
==> Building Green
==> Testing Green
t/00-use.t ........... ok
t/01-time.t .......... ok
t/02-concise.t ....... ok
t/03-more_concise.t .. ok
All tests successful.
Files=4, Tests=6, 11 wallclock secs ( 0.02 usr  0.00 sys +  8.55 cusr  0.29 csys =  8.86 CPU)
Result: PASS
==> Installing Green
Copying blib/lib/Green.pm6 to /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/Green.pm6
Copying bin/green to /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/bin/green
==> Successfully installed Green


  • Inline::Perl5モジュールが依存しているモジュールだけインストールします1
$ panda --notests installdeps Inline::Perl5
==> Inline::Perl5 depends on LibraryMake
==> Fetching LibraryMake
==> Building LibraryMake
==> Installing LibraryMake
Copying blib/lib/LibraryMake.pm6 to /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/LibraryMake.pm6
==> Successfully installed LibraryMake


# LibraryMakeはちょっとエラーになってるみたいです
$ perl6 -c /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/LibraryMake.pm6
Function 'CompUnit::Repository::FileSystem' needs parens to avoid gobbling block
at /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/LibraryMake.pm6:213
------>         }⏏<EOL>
Missing block (apparently claimed by 'CompUnit::Repository::FileSystem')
at /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/LibraryMake.pm6:214
------>         }⏏<EOL>
# 一旦アンインストールしておきます(手作業)
$ rm /usr/local/Cellar/rakudo-star/2015.11/share/perl6/site/lib/LibraryMake.pm6



panda コマンドを実行すると、DEPRECATED となった旨のメッセージが出るようになりました。

$ panda install OpenCV
==> Fetching OpenCV
==> Building OpenCV
==> Testing OpenCV
t/01-load.t ......... ok
t/02-highgui.t ...... ok
t/99-author-meta.t .. ok
All tests successful.
Files=3, Tests=5,  9 wallclock secs
Result: PASS
==> Installing OpenCV
==> Successfully installed OpenCV

'panda' is shortly to be removed from Rakudo Star and replaced by 'zef'.
'zef' is available in this release and recommended over 'panda'

zef の使い方はこちら


  1. [2015.12.03現在]LibraryMakeはちょっとエラーになってるみたいなので--notestsオプションつけてます。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away