Installation Instructions
-------------------------
If they aren't already installed, you will need the following modules:
sudo cpan Module::Install
sudo cpan Test::Exception
sudo cpan Any::Moose
sudo cpan Class::Method::Modifiers
sudo cpan Tie::IxHash (most db commands, MongoDBensure_index)
A couple methods (that you might not run into) require:
sudo cpan boolean (MongoDB::Collection::ensure_index)
sudo cpan Digest::MD5 (MongoDB::Connection::authenticate)
Packages needed for different types:
dates: DateTime
booleans: boolean
Then do:
$ perl Makefile.PL
$ make
$ make test
$ make install
Big Endian Machines
-------------------
MongoDB cannot run on a big endian machine, but the driver can. If you have a
little endian machine available, you can connect to that remotely and develop on
your big endian machine.
To run the tests using a remote database, make sure mongod is running on it and
then do:
$ MONGOD=example.com make test
where example.com is the hostname for your machine running mongod. The driver
will use the value of $ENV{MONGOD} as the host if you provide it, otherwise it
will try to connect to localhost.
A Full List of Required Packages
--------------------------------
MongoDB
- Test::Exception
--- Sub::Uplevel
- Module::Build
--- CPAN::Meta::YAML
--- ExtUtils::ParseXS
----- ExtUtils::CBuilder
------- File::Spec
------- IPC::Cmd
--------- Module::Load::Conditional
----------- Module::CoreList
----------- Module::Load
--------- Params::Check
----------- Locale::Maketext::Simple
--- Perl::OSType
--- version
--- Module::Metadata
--- IO::File*
--- Archive::Tar*
----- Compress::Zlib
------- Compress::Raw::Bzip2
------- Compress::Raw::Zlib
----- IO::Compress::Base
----- IO::Compress::Bzip2
----- IO::Compress::Gzip
----- IO::Zlib
----- Package::Constants
----- Text::Diff*
------- Algorithm::Diff 1.9
--- Module::Signature*
----- Crypt::OpenPGP*
--- Pod::Readme*
----- Pod::Text
------- Pod::Simple
--------- Pod::Escapes
--------- Test
----- Regexp::Commmon
--- ExtUtils::Install*
--- ExtUtils::Installed*
- Any::Moose
--- Moose
----- Class::MOP
------- Data::OptList
------- Devel::GlobalDestruction
--------- Scope::Guard
------- MRO::Compat
--------- Class::C3
----------- Algorithm::C3
------- Package::Stash
--------- Dist::CheckConflicts
----------- Sub::Exporter
------------- Data::OpList
--------- Package::DeprecationManager
----------- List::MoreUtils
----------- Params::Util
----------- Sub::Install
--------- Package::Stash::XS
------- Sub::Name
------- Task::Weaken
--------- Scalar::Util
------- Test::Fatal
--------- Exporter
------- Test::Requires
OR Any::Moose with Mouse:
--- Mouse
----- Devel::PPPort
----- XSLoader
--- Class::Method::Modifiers
- Try::Tiny
- Digest::MD5
- Tie::IxHash
- DateTime
--- DateTime::Locale
--- DateTime::Timezone
----- Class::Load
----- Class:Singleton
----- parent
--- Params::Validate
----- Attribute::Handlers
- boolean
- Data::Types
--- Test::Pod
- File::Slurp
- JSON
- File::Temp .17
- inc::Module::Install
--- File::Remove
--- LWP::UserAgent
----- HTML::Parser
------- HTML::Tagset
----- URI
--- Module::ScanDeps
--- PAR::Dist
--- Parse::CPAN::Meta
----- JSON::PP
--- YAML::Tiny