ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Bundler

Starting with release 2.0.0 ChiliProject started to use bundler for dependency management. This allows us to consistently handle dependencies in a single place.

For you as the enduser, this means you have to properly configure bundler to install use the correct dependencies.

At first make sure you have bundler installed. You can install it using this command (using sudo if neccessary).

sudo gem install bundler

To get bundle work with the system Ruby on Debian, you might need to create a symbolic link:

sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle

Alternatively, you could add /var/lib/gems/1.8/bin to your $PATH.

All And Everything

To install all dependency packages, just run the following command inside your ChiliProject root directory:

bundle install

Most of the time you want a install only a subset of groups. On production systems, you normally don't need the test and development group and just one database adapter.

Select groups

Gem dependencies are structured in groups. You can tell bundler not to install certain groups, i.e. blacklist them. You can do this by appending the list of groups you don't want to be installed like so:

bundle install --without=test development sqlite postgres mysql rmagick

This will install all required base dependencies, the mysql2 database adapter and the openid library for optionally logging in via OpenID. It will not install any of the stated groups.

Currently, we have the following groups defined:

  • mysql installs the mysql database adapter for compatible rubies This adapter is not compatible with Ruby 1.9
  • mysql2 installs the mysql2 database adapter for compatible rubies
  • postgres installs the pg database adapter,
  • sqlite installs the SQLite3 database adapter,
  • openid installs a library used for OpenID authentication
  • rmagick installs a library which can be used to export the Gantt chart to PNG. This requires a compatible version of imagemagick installed on the system
    DEBIAN 6.0 requires installation of following libs: aptitude install libmagickcore3-extra libmagickwand3 libmagickwand-dev libmagickcore-dev libgraphicsmagick++1-dev
  • development Installs packages required for developing for ChiliProject or some of its dependencies.
  • test Installs packages used for testing and developing for ChiliProject

Bundler remembers the excluded groups. To update dependencies, you can just run bundle install later, e.g. after an update.

Have a look into the Gemfile inside your ChiliProject root directory. It is verbosely documented and describes some alternatives that you might need to configure if you have a special environment.

Adding additional gems (optional)

Sometimes additional gems might be needed for your install. This could be from plugins you want to install or custom patches that depend on third party code. Since ChiliProject 2.1.0 if there is a Gemfile.local in the main directory, it will be automatically loaded. The format of the file is the same as the official Gemfile.

Troubleshooting

Gem or bundler wrong version issues with ChiliProject or Passenger

If you have installed bundler and the required gems, but you receive an error message showing that the application uses other versions/locations, try the following:

Add your ENV and path vars to config/additional_environment.rb - depending on your server configuration.

Example:

ENV['GEM_HOME'] = '/path/to/your/.gem'
ENV['GEM_PATH'] = '/path/to/your/:/usr/lib/ruby/gems/1.8'

If you still receive errors like Passenger uses the wrong bundler version, try adding the code above to config/setup_load_paths.rb