summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Book <grinnz@gmail.com>2018-03-05 13:20:34 -0500
committerGitHub <noreply@github.com>2018-03-05 13:20:34 -0500
commit81e10c5008fc5fe5e4609b4c3467ae51b13e9f6f (patch)
treef77ca2d3abb6e917403237d7aabc9382bce6e682
parenta2b3038ae9ceaa5468e7e785ff163bbd20422bf4 (diff)
downloadcarton-81e10c5008fc5fe5e4609b4c3467ae51b13e9f6f.tar.gz
Document bootstrapping and that carton exec is not required
-rw-r--r--lib/Carton.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/Carton.pm b/lib/Carton.pm
index 1f6e0a7..781650a 100644
--- a/lib/Carton.pm
+++ b/lib/Carton.pm
@@ -25,6 +25,10 @@ Carton - Perl module dependency manager (aka Bundler for Perl)
> carton install
> carton exec starman -p 8080 myapp.psgi
+ # carton exec is not required
+ > perl -Ilocal/lib/perl5 local/bin/starman -p 8080 myapp.psgi
+ > PERL5LIB=/path/to/local/lib/perl5 /path/to/local/bin/starman -p 8080 myapp.psgi
+
=head1 AVAILABILITY
Carton only works with perl installation with the complete set of core
@@ -32,8 +36,9 @@ modules. If you use perl installed by a vendor package with modules
stripped from core, Carton is not expected to work correctly.
Also, Carton requires you to run your command/application with
-C<carton exec> command, which means it's difficult or impossible to
-run in an embedded perl use case such as mod_perl.
+C<carton exec> command or to include the I<local/lib/perl5> directory
+in your Perl library search path (using C<PERL5LIB>, C<-I>, or
+L<lib>).
=head1 DESCRIPTION
@@ -99,6 +104,10 @@ The C<--deployment> flag makes sure that carton will only install
modules and versions available in your snapshot, and won't fallback to
query for CPAN Meta DB for missing modules.
+As an alternative to installing Carton on the remote machine(s), you
+can use L<carton fatpack|Carton::Doc::Fatpack> to pack it into
+I<vendor/bin/carton> and deploy that script with the application.
+
=head2 Bundling modules
carton can bundle all the tarballs for your dependencies into a