Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Web interface for MetaCPAN
Failed to load latest commit information.
bin calculate sitemap dir rather than hard coding
git Use carton's local::lib for pre-commit hook
lib Fix links in news feed.
root restore title to show what test counts mean
.editorconfig Keep indentation consistent in travis yml
.gitignore perltidy was complaining about .gitignore. This change satisfies perl…
.perlcriticrc set theme=core #1311
.tidyallrc TidyAll
.travis.yml Run carton in deployment mode on one travis perl Update
LICENSE License under same terms as Perl (GPL/Artistic) typo Reflect changes to VM dir/service in README
app.psgi set cookie only if there is something to store
cpanfile Upgrades HTML::Restrict to 2.2.2
cpanfile.snapshot Upgrades HTML::Restrict to 2.2.2
metacpan_web.conf Use comment to demonstrate site_alert_message usage

Build Status Coverage Status


We strongly recommend using metacpan-developer, this will give you a virtual machine already configured and ready to start developing on.

$ vagrant ssh
$ cd $HOME/metacpan-web
$ sudo service starman_metacpan-web restart

You'll find some log files in var/logs.

Installing manually

If you prefer not to use the VM, the following commands will get you started: commands can be converted to:

$ carton install
$ ./bin/prove t
$ carton exec plackup -p 5001 -r

Local configuration changes

The backend defaults to Running a local API server is optional and not required to hack on the front-end. The address to the API user can be changed in the metacpan_web.conf file. Ideally you would create a new file called metacpan_web_local.conf that contains


which will be loaded on top of the existing config file.


On Win32 (and possibly also on other platforms) when using Perl < 5.12, the server started with plackup will generate warnings relating to date parsing. These are caused by Plack due to a bug in the gmtime implementation and can be removed by upgrading to Perl 5.12.

Something went wrong with that request. Please try again.