NAME

Pinto::Manual::Installing - Tips for installing Pinto

VERSION

version 0.066

SYNOPSIS

For the impatient (bash)...

export PINTO_HOME=$HOME/opt/local/pinto
export PATH=$PINTO_HOME/bin:$PATH
cpanm -L $PINTO_HOME Pinto App::Pinto

And then possibly...

echo export PINTO_HOME=\$HOME/opt/local/pinto >> ~/.bashrc
echo export PATH=$PINTO_HOME/bin:$PATH >> ~/.bashrc

App::Pinto and Pinto (and Pinto::Remote)

The Pinto suite is divided into several different modules. App::Pinto is the front-end driver that provides the pinto command-line application. Pinto is the back-end library that does all the work. These two modules are shipped in separate distributions. But to do anything useful, you will need to install both of them.

There is also Pinto::Remote, which is the back-end for using a remote repository (via Pinto::Server) and can be installed instead of Pinto. But as of March 2013, Pinto::Remote and Pinto::Server are broken so I assume you won't be using them. I plan to fix those shorty and will update this documentation when they are released.

APPLICATION VERSUS LIBRARY

For most situations, Pinto is more like an application than a library. It is a tool that you use to develop and deploy your code, but Pinto itself is not part of your code. Pinto also has a lot of dependencies, some of which may conflict with or complicate your code.

INSTALLING AS AN APPLICATION

For the reasons above, I recommend installing Pinto as a stand-alone application in its own sandbox. That way, it doesn't pollute your environment with its dependencies. Nor will you pollute Pinto with changes to your environment, so Pinto will function even when your other environment dependencies are broken. And hopefully, you can use Pinto to help fix whatever broke!

Step 1: Install With cpanm

Fortunately, cpanm makes it really easy to install things into sandboxes by using the --local-lib-contained option (or -L for short). To install Pinto into your home directory (at <~/opt/local/pinto> for example) use this command:

cpanm -L ~/opt/local/pinto Pinto App::Pinto

Step 2: Set PINTO_HOME

When you've installed Pinto into a sandbox (that is, outside of your typical perl library directories), you also need to set the PINTO_HOME environment variable so that the pinto command can find it's libraries. Since we installed into ~/opt/local/pinto then that's where we set it:

export PINTO_HOME=$HOME/opt/local/pinto

For convenience, you'll probably also want pinto to be in your PATH. It lives in the bin directory inside PINTO_HOME:

export PATH=$PINTO_HOME/bin:$PATH

To make these settings part of your normal shell environment, just add those last two commands to ~/.bashrc or ~/.cshrc or whatever setup file is appropriate for your shell.

INSTALLING AS A LIBRARY

If you're going to be hacking on Pinto itself, or want to try building on the API directly, then you can install Pinto straight into your development environment, just like you would do for any other module.

Just beware that Pinto has lots of dependencies. And if you subsequently upgrade any of those dependencies to something that breaks Pinto, then you might find yourself in a pickle. The whole point of Pinto is to help you manage your dependencies, so if you break Pinto, it won't be able to help you.

OTHER INSTALLATION OPTIONS

Naturally, installation procedures will vary from one environment to another. If this procedure doesn't work for you, or if you'd like to suggest a procedure for a different environment (e.g. Windows, Perlbrew, Strawberry Perl, etc.), then please contact the author. Your contributions would be appreciated greatly.

AUTHOR

Jeffrey Ryan Thalhammer <jeff@stratopan.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Imaginative Software Systems.

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