oracular (3) Type::Tiny::Manual::Installation.3pm.gz

Provided by: libtype-tiny-perl_2.004000-1_all bug

NAME

       Type::Tiny::Manual::Installation - how to install Type::Tiny

MANUAL

       Installing Type-Tiny should be straightforward.

   Installation with cpanminus
       If you have cpanm, you only need one line:

         % cpanm Type::Tiny

       If you are installing into a system-wide directory, you may need to pass the "-S" flag to cpanm, which
       uses sudo to install the module:

         % cpanm -S Type::Tiny

   Installation with the CPAN Shell
       Alternatively, if your CPAN shell is set up, you should just be able to do:

         % cpan Type::Tiny

   Manual Installation
       As a last resort, you can manually install it. Download the tarball and unpack it.

       Consult the file META.json for a list of pre-requisites. Install these first.

       To build Type-Tiny:

         % perl Makefile.PL
         % make && make test

       Then install it:

         % make install

       If you are installing into a system-wide directory, you may need to run:

         % sudo make install

   Dependencies
       Type::Tiny requires at least Perl 5.8.1, though certain Unicode-related features (e.g. non-ASCII type
       constraint names) may work better in newer versions of Perl.

       Type::Tiny requires Exporter::Tiny, a module that was previously bundled in this distribution, but has
       since been spun off as a separate distribution. Don't worry - it's quick and easy to install.

       At run-time, Type::Tiny also requires the following Perl modules: B, B::Deparse, Carp, Data::Dumper,
       Scalar::Util, Text::Balanced, overload, strict, and warnings.  All of these come bundled with Perl
       itself.

       Certain features require additional modules. Stack traces on exceptions require Devel::StackTrace. The
       Reply::Plugin::TypeTiny plugin for Reply requires Reply (obviously).

       Type::Tiny::XS is not required, but if available provides a speed boost for some type checks. (Setting
       the environment variable "PERL_TYPE_TINY_XS" to false, or setting "PERL_ONLY" to true will suppress the
       use of Type::Tiny::XS, even if it is available.)

       The test suite additionally requires Test::More, Test::Fatal and Test::Requires. Test::More comes bundled
       with Perl, but if you are using a version of Perl older than 5.14, you will need to upgrade to at least
       Test::More version 0.96. Test::Requires and Test::Fatal (plus Try::Tiny which Test::Fatal depends on) are
       bundled with Type::Tiny in the "inc" directory, so you do not need to install them separately.

       If using Type::Tiny in conjunction with Moo, then at least Moo 1.006000 is recommended. If using
       Type::Tiny with Moose, then at least Moose 2.0000 is recommended. If using Type::Tiny with Mouse, then at
       least Mouse 1.00 is recommended. Type::Tiny is mostly untested against older versions of these packages.

       Type::Tiny and cperl

       cperl <http://perl11.org/cperl/> is an extended version of Perl with various incompatible changes from
       the official Perl 5 releases.

       As of Type::Tiny 1.010001, cperl is a supported platform for Type::Tiny with some caveats. At the time of
       writing, Moose will not install on the latest cperl releases, so using Type::Tiny with Moose on cperl is
       untested. Moo can be forced to install, and Type::Tiny is verified to work with Moo on cperl.  cperl not
       only enables a new warnings category called "shadow" (which is good; they're potentially useful) but
       switches on shadow warnings by default (which is annoying). Type::Tiny does not (and likely will never)
       attempt to work around these warnings. If the warnings bother you, you should be able to catch them using
       $SIG{__WARN__}. Certain features of Eval::TypeTiny are broken under cperl, but they're not thought to
       have any practical effect on Type::Tiny or its other bundled modules.

NEXT STEPS

       Here's your next step:

       •   Type::Tiny::Manual::UsingWithMoo

           Basic use of Type::Tiny with Moo, including attribute type constraints, parameterized type
           constraints, coercions, and method parameter checking.

AUTHOR

       Toby Inkster <tobyink@cpan.org>.

       This software is copyright (c) 2013-2014, 2017-2023 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.