Description A static content generator.
Newcomen > Perl Manuals > Newcomen::Manual::Installation



Newcomen::Manual::Installation - Installation information.


Note: Newcomen has only been tested on a Debian GNU/Linux system. It should work on every other Linux distribution if the requirements mentioned below are properly installed. It may not work on other operating systems!


Newcomen is written in Perl, a recent Perl version (at least 5.10) is required to run. Besides some of the core modules, the following modules are required (names in brackets are the names of the Debian packages providing the modules, for other distributions these names may differ). Some modules have their own dependencies, your package manager should take care of this. Note that the following list also includes modules only required by plugins or backends, these are not optional at the moment (but will be in the near future).

Currently all modules are available in the Debian repositories, with the exception of Data::SimplePath. This module is available on CPAN. If you do not want to install it, you may place the module in a lib folder in your project's root directory, i.e. copy the file to <project root>/lib/Data/ The newcomen executable script will add the lib directory to the module search paths automatically.

Installing The Requirements On Debian

On Debian systems, the following command may be used to install the dependencies (with the exception mentioned above):

apt-get install                      \
   libcapture-tiny-perl              \
   libclone-perl                     \
   libdata-rmap-perl                 \
   libdigest-sha-perl                \
   libfile-changenotify-perl         \
   libmodule-find-perl               \
   libmoose-perl                     \
   libmoosex-aliases-perl            \
   libmoosex-nonmoose-perl           \
   libmoosex-role-parameterized-perl \
   libmoosex-strictconstructor-perl  \
   libnamespace-autoclean-perl       \
   libpath-class-perl                \
   libtemplate-perl                  \
   libtext-multimarkdown-perl        \
   libuuid-tiny-perl                 \

The Documentation

The following module is required by the utils/pod2html script, which is used to generate the HTML documentation of Newcomen. It is not required for Newcomen itself, and you do not need to install it unless you want to build the HTML pages (the ones your looking at) for some reason.

The Test Suite

There are additional dependencies for the test suite (end users may install these modules to run the test suite, but they are not required to use Newcomen):

Additionally, the following modules are required to run the author/release tests (end users do not need to install these modules):


The distribution archive of Newcomen is built using Dist::Zilla, and a few plugins. Again, end users do not need to install any of these modules. Developers who intend to build a customized distribution may want to install these modules:


The Distribution Tree

Since Newcomen is not yet available on CPAN, it has to be installed manually. The installation follows Perl standards.

End users should download the distribution archive from the homepage and extract it to some temporary directory. The following commands have to be executed in the extracted directory (i.e. the directory that contains the files Makefile.PL and Build.PL). Only one of the following two procedures must be used, depending on what modules are available. If in doubt, the first method should be used. For a system-wide installation you may have to run these commands as user root.

ExtUtils::MakeMaker should be available if Perl is installed properly. Run the following commands to install Newcomen (the make command must be available, too):

perl Makefile.PL
make test
make install

If the Module::Build module is available, the following commands may be used instead:

perl Build.PL
./Build test
./Build install

Using Newcomen Without Installation

As mentioned above, the newcomen script adds a lib directory to the module search paths. To use Newcomen without installation, copy all the modules found in the lib directory of the Newcomen distribution to a lib directory in your project's root directory. The newcomen script itself may be copied to any directory you want, you can also keep it in the project's root or copy it to a directory in your $PATH for convenience.

Note that while Newcomen can be used like this, this may not be true for some of the dependencies (see REQUIREMENTS), these must all be installed properly.

The Source Tree

The Newcomen source tree is used for development, and should not be used for installation by end users. Dist::Zilla is used to create a distribution from the source tree, and this generated distribution tree should be used for installation instead. The Dist::Zilla configuration included in the source tree (the file dist.ini) will copy/move some files around and clean up the source tree for the build. The command dzil build will create the distribution tree. To clean up afterwards, run dzil clean.

The source tree is not available for download on the Newcomen homepage, but can be retrieved via git from the Newcomen source code repository at Gitlab, direct downloads are available, too. A repository mirror is available at Bitbucket.


This is version 2019022601.


Stefan Goebel - newcomen {at} subtype {dot} de


Copyright 2013-2017, 2019 Stefan Goebel.

This file is part of Newcomen.

Newcomen is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the license, or (at your option) any later version.

Newcomen is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Newcomen. If not, see <>.