Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Panda is a Perl 6 module manager.

Deprecation notice

Panda is not maintained and developed anymore; please use zef instead.


Note: the most common way to install panda is via rakudobrew: rakudobrew build panda. The instructions below are for installing it manually.

To install Panda along with all its dependencies, simply run the script in the root of the panda git repo. You must have perl6 installed in order to run

git clone --recursive git://

cd panda


Since the bootstrap step currently runs tests with prove, you will need a recent TAP::Harness (3.x) for it to work properly.

After a successful bootstrap, a message will appear saying which path should be added to the PATH env variable in order to be able to run panda from the command line. For example:

==> Please make sure that /home/user/rakudo/install/share/perl6/site/bin is in your PATH

If you use bash, you can fulfill that requirement with the following:

echo "export PATH=\$PATH:$HOME/rakudo/install/share/perl6/site/bin" >> ~/.bashrc
source ~/.bashrc

Running Tests

One way to run the test suite is with prove from TAP::Harness

prove -e perl6 -lrv t/
# or on windows: prove -e "perl6 -lrv" t/


Panda can be used like:

panda install Task::Star

(Task::Star is a handy bundle that installs all the modules shipped with the Rakudo Star Perl 6 distribution.)

Alternatively, you can install a package from the local disk by supplying its path:

panda install ./perl6-Acme-Meow

Or, similarly to cpanm you can install all dependencies by specifying simply the current directory:

panda install .

You can also specify a git repository and panda will automatically fetch the code from it. It's also possible to specify a commit to checkout:

panda install git://
# or
panda install git://

If you are behind a proxy, you need to configure git and have HTTP::UserAgent installed which supports proxies. Panda's built-in HTTP client does not.

You can also use the GIT_PROTOCOL environment variable to specify another protocol if git is blocked on your network:

GIT_PROTOCOL=https panda install Acme::Meow