Out of the box, Ruby does not provide a mechanism to support multiple installed
versions. pik
is a third-party tool that can be used to switch
between multiple versions of the Ruby interpreter on Windows.
Install Ruby
Install at least one Ruby interpreter environment using the RubyInstaller from http://rubyinstaller.org. While pik can install some versions of Ruby, the versions of Ruby it knows to install is quite limited, and it is just much easier to use RubyInstaller for Windows to install them.
The choice of Ruby environments to install is up to you. I have the latest
version of 1.9.3 installed as my main development environment, and Ruby 2.0.0
to play around with the next generation of the language. When you install
Ruby, do not add the Ruby executables to your PATH or associate .rb/.rbw
files with the Ruby installation (the default choice) - pik
will
manage this setting:
Installing pik
Download the latest .MSI installer from pik downloads on github (as of this writing 0.3.0) and run the Pik Setup Wizard - the default options are fine:
You can verify that pik
installed properly by running the
following in a Command Prompt:
> pik --version
pik 0.3.0.pre on Microsoft Windows [Version 6.1.7601]
by Gordon Thiesfeld (gthiesfeld@gmail.com)
Registering Ruby environments with pik
Use the pik add
command to register your installed ruby
environments with pik. For example, I have Ruby 1.8.7, 1.9.3, and 2.0.0
installed on my Windows development box, so I typed the following in a
Command Prompt:
> pik add C:\Ruby187\bin
INFO: Adding: [ruby-]1.8.7-p371
Located at: C:\Ruby187\bin
> pik add C:\Ruby193\bin
INFO: Adding: [ruby-]1.9.3-p392
Located at: C:\Ruby193\bin
> pik add C:\Ruby200\bin
INFO: Adding: [ruby-]2.0.0-p0
Located at: C:\Ruby2000\bin
Use the pik list
command to list all the ruby interpreters
registered with pik:
> pik list
ruby-1.8.7-p371
ruby-1.9.3-p392
ruby-2.0.0-p0
Set a default Ruby
The pik use
command will allow you to switch between your
registered ruby interpreters:
> pik use ruby-2.0.0-p0
> ruby -v
ruby 2.0.0p0 (2013-02-024) [i386-mingw32]
Add the --default
parameter to set one version as the default:
> pik use ruby-1.9.3-p392 --default
You can use the pik default
command to switch to this version:
> pik default
> ruby -v
ruby 1.9.3p392 (2013-02-022) [i386-mingw32]
Unfortunately when you open a new command prompt, pik is not automatically loaded, so you will notice that there is no default ruby loaded:
Either run the pik default
command to load pik (and the
default ruby interpreter) or add one particular Ruby interpreter to your
user or system PATH environment variable (via Control Panel -> System
-> Advanced -> Environment Variables….
):