NAME

Alien::Ruby - Find or install Ruby

SYNOPSIS

use Alien::Ruby;

use Env qw( @PATH );

unshift @PATH, Alien::Ruby->bin_dir;

system(q(ruby -e 'puts "Hello from Ruby!"'));

system('gem install pry');

DESCRIPTION

This distribution provides the Ruby programming language so that it can be used by other Perl distributions. It does this by first trying to detect an existing install of Ruby on your system. If found it will use that. If it cannot be found, the Ruby source code will be downloaded from the internet and it will be compiled and installed to a private share location for the use of other Perl modules.

GEM / BUNDLER

Because RubyGems (since Ruby 1.9) and Bundler (since Ruby 2.6) are included with Ruby, and the gem and bundle executables are installed into the same directory as the ruby executable, you can use Alien::Ruby as if it were Alien::Gem or Alien::Bundler.

Please be mindful of the $ENV{GEM_HOME} and $ENV{GEM_PATH} environment variables. These variables will change the default locations where Gem's can be found, and where Gem's will be installed.

SPECIFY RUBY VERSION

To specify the version of Ruby you want, set the ALIEN_RUBY_VERSION environment variable before installing Alien::Ruby:

$ ALIEN_RUBY_VERSION=2.7.7 cpanm Alien::Ruby

The minimum supported Ruby version is 2.1.0.

HELPERS

ruby

%{ruby}

Returns the name of the ruby command which is just 'ruby'.

gem

%{gem}

Returns the name of the gem command which is just 'gem'.

bundle

%{bundle}

Returns the name of the bundle command which is just 'bundle'.

WINDOWS

Windows is not currently supported. Patches welcome.

SEE ALSO

Alien

Documentation on the Alien concept itself.

Alien::Base

The base class for this Alien.

Alien::Build::Manual::AlienUser

Detailed manual for users of Alien classes.

AUTHOR

Nicholas Hubbard <nicholashubbard@posteo.net>

CONTRIBUTORS

  • William N. Braswell, Jr.

  • Zakariyya Mughal