Skip to content
The Rubinius Language Platform
Ruby C++ C Perl HTML Groff Other
Latest commit 44d5f80 Jun 26, 2016 @brixen brixen Added Fiber#dispose and auto-cleanup of Fiber.
A Fiber is composed of both managed (ie object memory) resources and unmanaged
(ie pthread) resources. When a Fiber completes normally, the unmanaged
resources can be reclaimed simply.

When a Fiber that has not completed normally goes out of 'scope' (ie is no
longer reachable from any reachable object), the garbage collector cannot
simply reclaim the managed resources allocated to the Fiber because the Fiber
composes native resources (ie the pthread instance). In this case, the Fiber's
pthread invoke function needs to be forced to exit so that the pthread
instance can be reclaimed.
Failed to load latest commit information.
.bundle Updated .bundle/config. Jan 16, 2015
bin Removed rubygems override env vars when running bin/mspec. Aug 23, 2013
core Added Fiber#dispose and auto-cleanup of Fiber. Jun 26, 2016
debian debian build update for rubinius-2.3 Oct 22, 2014
library Fixed -Xhelp variable type for Regexp. Jun 12, 2016
machine Added Fiber#dispose and auto-cleanup of Fiber. Jun 27, 2016
mspec Removed obsolete -X19 cruft from MSpec. Mar 12, 2016
rakelib Merge remote-tracking branch 'origin' into mcjit May 5, 2016
scripts add reminder to push after tagging new release Jun 4, 2016
spec Added {Thread, Fiber}.count. Jun 22, 2016
tools Changed references from vm/external_libs to vendor. Jul 1, 2011
vendor Added RapidJSON. Apr 30, 2016
.autotest added RUBY env for autotest Mar 12, 2008
.editorconfig Added configuration file for EditorConfig. Sep 21, 2014
.gdbinit Check CallFrames directly from their VM Aug 8, 2010
.gitignore Use local symlinks to provide cc, c++ on PATH. May 19, 2016
.travis.yml Revert "Enable ccache for faster builds (#3660)" Jun 6, 2016
AUTHORS Merge branch 'rand-fix' of into fen… Apr 6, 2016
BSD_LICENSE Break up old/new license & clarify what we use Jan 3, 2016 Add issue template Feb 17, 2016
Gemfile Removed runtime use of CompiledCode#literals. Apr 8, 2016
Gemfile.installed Updated rubinius-code gems. Jan 28, 2016
Gemfile.lock Updated gems. Jun 12, 2016
LICENSE Break up old/new license & clarify what we use Jan 3, 2016
README Clarified what is covered by what license Jan 29, 2016 Clarified what is covered by what license Jan 29, 2016
Rakefile Use local symlinks to provide cc, c++ on PATH. May 19, 2016
SECURITY Add basic instructions for security reports Jul 8, 2013
THANKS THANKS copy edits Aug 11, 2011
configure Fibers are always enabled. Removed configure option. Jun 12, 2016
gems_list.txt Updated mkmf version. Jun 12, 2016 Expanded the issue template Feb 19, 2016
rubinius-build_tools.gemspec Added gemspecs for Rubinius meta-gems. Oct 14, 2013
rubinius-developer_tools.gemspec Added gemspecs for Rubinius meta-gems. Oct 15, 2013
rubinius.gemspec Fixed rubinius metagem description. Oct 21, 2013 Add basic instructions for security reports Jul 8, 2013

Gitter Build Status

The Rubinius Language Platform

Rubinius is a modern language platform that supports a number of programming languages.

Rubinius includes a bytecode virtual machine, generational garbage collector, and just-in-time (JIT) native machine code compiler. Rubinius provides concurrency support via native OS threads with no global interpreter lock.

Rubinius runs on Mac OS X and many Unix/Linux operating systems. Microsoft Windows is not yet supported.

Code of Conduct

Participation in the Rubinius project is governed by the Rubinius Code of Conduct.

The Ruby Programming Language

Many popular Ruby applications, like Rails, run on Rubinius, which aims to be compatible with Ruby version 2.2.

Rubinius includes a Ruby parser, Ruby bytecode compiler, Ruby core library, and C-API compatibility for native C extensions. The Ruby core library is written almost entirely in Ruby. The Ruby bytecode compiler and other tools, such as the debugger, are also written in Ruby. Rubinius provides the standard Ruby libraries, with the following exceptions:

  • Continuation
  • Ripper
  • TracePoint
  • Tracer

The following Ruby features are not supported on Rubinius:

  • Refinements
  • $SAFE levels


All source code in this repository is subject to the terms of the Mozilla Public License, version 2.0 unless stated otherwise. A copy of this license can be found the file "LICENSE" or at

Contributions made prior to January 3rd, 2016 are licensed under the old BSD 3-clause license. A copy of this license can be found in the file "BSD_LICENSE".

In the event a directory contains a "LICENSE", "LICENSE.txt" or "COPYING" file the license specified in said file applies to the contents of said directory and all sub directories, overwriting the licenses specified above.

Installing Rubinius from Source

To install Rubinius, use the following steps:

  1. Ensure that MRI 2.0+, rubygems, rake, git and LLVM are installed
  2. git clone git://
  3. cd rubinius
  4. bundle
  5. ./configure --prefix=/path/to/install/dir
  6. rake

When the install process finishes, follow the directions printed to the terminal to add the Rubinius executable (bin) directory to your PATH. For more information see the documentation for Build Requirements and Building Rubinius.

Using RubyGems

Rubinius comes with RubyGems built-in. To install a gem, run the following:

$ rbx -S gem install <gem_name>


The Rubinius documentation is available at the Rubinius website.

Issues & Support

Please file tickets for bugs or problems.

For additional help, visit the Rubinius Gitter chat room.


The Rubinius team welcomes contributions. For more information, read the CONTRIBUTING file and see the documentation about contributing.

Something went wrong with that request. Please try again.