Revision as of 02:47, November 4, 2014 by Threesixes (Talk | contribs)


Source Repository:Gentoo Portage Tree

Summary: Centralized Ruby extension management system



New OpenGL management in Funtoo

Funtoo is switching to an improved system for managing multiple OpenGL providers (Mesa/Xorg, AMD and nVidia). The update may involve blockers and file collisions.
30 March 2015 by Mgorny

Subarch Profiles are coming...

Subarch profiles are on their way! Learn more here.
29 March 2015 by Drobbins

RSS/Atom Support

You can now follow this news feed at .
10 February 2015 by Drobbins
View More News...



This is a wiki page. To edit it, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Ruby is a programming language with its own package management system to extend the language.

Rubygems is a package management system to extend the ruby language.

Gems are packaged wonky in portage so this page will explain how to work with rubygems rather than fight it. Arch wiki outlines a similar method.

Emerge ruby & rubygems:

# emerge ruby rubygems

Remove conflicting gems:

# emerge -C dev-ruby/rake dev-ruby/racc dev-ruby/json dev-ruby/rdoc

Flush conflicting gems bad specs:

# mv /usr/local/lib64/ruby/gems/2.1.0/specifications/ /usr/local/lib64/ruby/gems/2.1.0/specifications.backup

Fetch gems via rubygems:

# gem install rdoc json rake racc
# rubygems-update

update gem system:

# update_rubygems
# gem update --system
# gem pristine --all

Now you're ready to use gem to manage gems.

To add gems to your path:

$HOME/.bashrc - add gem bin directory to your path
PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"

ruby on rails

# gem install rails
# rails new testproject
# cd testproject
# bundle install


puma is a fast web server for ruby on rails.

To enable puma in your project:

$HOME/testproject/Gemfile - add puma gem to your rails application
gem 'puma'

To pull in puma:

# bundle install
$HOME/testproject/config/puma.rb - puma configuration file
workers Integer(ENV['PUMA_WORKERS'] || 3)
threads Integer(ENV['MIN_THREADS']  || 1), Integer(ENV['MAX_THREADS'] || 16)


rackup      DefaultRackup
port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'development'

on_worker_boot do
  # worker specific setup
  ActiveSupport.on_load(:active_record) do
    config = ActiveRecord::Base.configurations[Rails.env] ||
    config['pool'] = ENV['MAX_THREADS'] || 16

to start puma:

# bundle exec puma

or if you added gems bin dir to your path

# puma

a generic puma init script can be found here