Shared, Reseller, Turbo Boost, and Turbo Max Web Hosting using the cPanel control panel and running CloudLinux offer multiple versions of Ruby. You can set up your account to use one version or several. Instructions for both options are shown in this article.
These instructions apply to servers with cPanel control panel and the Ruby Selector installed. Check for the Setup Ruby App icon in the SOFTWARE section of cPanel before proceeding.
To set up one Ruby version for use at the command line, follow these steps:
[email protected] [~]# ls /opt/alt | grep ruby ruby18/ ruby19/ ruby20/ ruby21/ ruby22/ ruby23/ ruby24/ ruby25/ ruby26/
The two digits on each line in the listing represent the version number, where the actual version number has a dot between the 2 digits. For example, ruby26 is Ruby version 2.6.
Create a directory for local gems.
Some gems are pre-installed globally on the server, but additional gems must be installed in the user account.
The directory ~ruby/gems is used here but other values may be used.
[email protected] [~]# mkdir -p ~/ruby/gems
Edit the file ~/.bash_profile and add these lines at the bottom, replacing items in red with the desired values for your installation:
RUBYHOME="/opt/alt/ruby26" ORIG_GEM_HOME=$("$RUBYHOME/bin/gem" --config-file "" env GEM_HOME) GEM_HOME="$HOME/ruby" GEM_PATH="$GEM_HOME:$ORIG_GEM_HOME" GEM_SPEC_CACHE="$GEM_HOME/specs" PATH="$RUBYHOME/bin:$PATH" export RUBYHOME export GEM_HOME export GEM_PATH export GEM_SPEC_CACHE export PATH
Update your environment with the following command:
[email protected] [~]# source ~/.bash_profile
Check the installation with this command:
[email protected] [~] ruby -v ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
The configured Ruby version will now be available each time you log in.
The Ruby Selector makes it possible to use multiple versions of Ruby in your account by creating a virtual environment for each desired version.
To create a virtual environment, follow these steps:
Select the desired Ruby version from the Ruby version listbox.
Select a domain in the App Domain/URI listbox.
You must select a domain even if you will not be using Ruby for a website.
The Ruby Selector adds several lines to the domain selected in step X above.
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN PassengerAppRoot "/home/example/myapp" PassengerBaseURI "/" PassengerRuby "/home/pinebrea/rubyvenv/myapp/2.6/bin/ruby" # DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END
If you will not be using Ruby for your website you must remove these lines from the .htaccess file.
To use the new environment follow these steps:
Paste the Command for entering to virtual environment on the command line and press enter. The command prompt will change as shown.
[email protected] [~]# source /home/example/rubyvenv/myapp/2.6/bin/activate (myapp:2.6)[email protected] [~]#
Enter the following command to check that the installation is successfull:
(myapp:2.6)[email protected] [~]# ruby -v ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
Exit the virtual environment by typing deactivate as shown.
(myapp:2.6)[email protected] [~]# deactivate [email protected] [~]#
You can repeat the steps above to configure several versions of Ruby for use in your account.
You must enter the related Command for entering to virtual environment each time you want to use a configured version of Ruby.