Skip to content
doy edited this page Jun 21, 2011 · 28 revisions

If you want to run MetaCPAN locally (why not?), here are a few tips to get you started:

Install ElasticSearch

You can download ElasticSearch at http://www.elasticsearch.org/download/. Make sure you download the latest version (0.16). After you unzip it, run the following command:

bin/elasticsearch -f

If you get a "Can't start up: not enough memory" error when trying to start ElasticSearch, you likely need to update your JRE. On Ubuntu:

# fixes "not enough memory" errors
sudo apt-get install openjdk-6-jre

Install cpanminus

If you haven't installed cpanminus already, see http://search.metacpan.org/#/showpod/App::cpanminus

Clone the Git Repositories

git clone https://github.com/CPAN-API/cpan-api.git
cd cpan-api
git submodule init
git submodule update

Install Dependencies

dzil authordeps  | cpanm
dzil listdeps  | cpanm

Create the ElasticSearch Index

bin/metacpan mapping

Begin Indexing Your Modules

bin/metacpan release /path/to/cpan/authors/id/

You should note that you can index either your CPAN mirror or a minicpan mirror. You can even index just parts of a mirror:

bin/metacpan release /path/to/cpan/authors/id/{A,B}

Tag the Latest Releases

bin/metacpan latest

Index Author Data

bin/metacpan author --cpan /path/to/cpan/

Note that minicpan doesn't provide the 00whois.xml file which is used to generate the index; you will have to download it manually (it is in the authors/ directory) in order to index authors.

Set Up Custom URL Endpoints

Starts API server on port 5000

bin/metacpan server --cpan /path/to/cpan/

Notes

For a full list of options:

bin/metacpan release --help

EV may seem to take forever to install because the test suite hangs, so you may have to install it without first running the test suite:

cpanm --notest EV

Meta

Clone this wiki locally