Scroll to navigation

Dist::Zilla::App::Command::build(3pm) User Contributed Perl Documentation Dist::Zilla::App::Command::build(3pm)


Dist::Zilla::App::Command::build - build your dist


version 6.017


  dzil build [ --trial ] [ --tgz | --no-tgz ] [ --in /path/to/build/dir ]


This command is a very thin layer over the Dist::Zilla "build" method, which does all the things required to build your distribution. By default, it will also archive your distribution and leave you with a complete, ready-to-release distribution tarball.

To go a bit further in depth, the "build" command will do two things:

  • Generate a directory containing your module, "Foo-0.100". This directory is complete. You could create a gzipped tarball from this directory and upload it directly to "PAUSE" if you so desired. You could "cd" into this directory and test your module on Perl installations where you don't have "Dist::Zilla", for example.

    This is a default behavior of the "build" command. You can alter where it puts the directory with "--in /path/to/build/dir".

  • Generate a gzipped tarball of your module, "Foo-0.100.tar.gz". This file could be uploaded directly to "PAUSE" to make a release of your module if you wanted. Or, you can test your module: "cpanm --test-only Foo-0.100.tar.gz". This is the same thing you would get if you compressed the directory described above.

    The gzipped tarball is generated by default, but if you don't want it to be generated, you can pass the "--no-tgz" option. In that case, it would only generate the directory described above.

Once you're done testing or publishing your build, you can clean up everything with a "dzil clean".


  $ dzil build
  $ dzil build --no-tgz
  $ dzil build --in /path/to/build/dir



This will build a trial distribution. Among other things, it will generally mean that the built tarball's basename ends in -TRIAL.

--tgz | --no-tgz

Builds a .tar.gz in your project directory after building the distribution.

--tgz behaviour is by default, use --no-tgz to disable building an archive.


Specifies the directory into which the distribution should be built. If necessary, the directory will be created. An archive will not be created.


Ricardo SIGNES 😏 <>


This software is copyright (c) 2020 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2020-11-04 perl v5.30.3