Intro to Ruby - raisercostin/software-wiki GitHub Wiki

Sometimes you will need to use ruby or some ruby tools. You will need to configure it.

Ruby vs JRuby

There are two main implementations of ruby: the standard one in c/c++ and JRuby on top of java virtual machine.

Environments

An ruby environment will contain various 3rd party packages installed with gem install <package>. There are 3 forms:

Root environment

Install as root via sudo gem install <package>. If this is not used you will get a Permission denied - /var/lib/gems error.

This is not recommended as you will give root access to ruby packages.

User environment

Use a ruby version management tool: RVM or rbenv. Rbenv is more lightweight. Rvm is more mature.

rbenv

Install

New Method

See https://gorails.com/setup/ubuntu/14.04

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.4.2
rbenv global 2.4.2
ruby -v
Old Method
  • sudo apt-get install rbenv ruby-build - Install rbenv.
  • rbenv versions - list ruby versions
  • rbenv install -l - list all available ruby versions
  • rbenv install jruby-1.7.0-preview1 - install specific ruby version in the current environment
  • rbenv local jruby-1.7.0-preview1 - selects as local environment that ruby version
  • gem install <package> - installs in that environment the package
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.23
  - RUBY VERSION: 1.9.3 (2013-11-22 patchlevel 484) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/vagrant/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ rbenv local
rbenv: no local version configured for this directory
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ rbenv versions
* system (set by /home/vagrant/.rbenv/version)
  1.9.1-p378
  1.9.3-rc1
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ rbenv local 1.9.3-rc1
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ rbenv local
1.9.3-rc1
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.23
  - RUBY VERSION: 1.9.3 (2013-11-22 patchlevel 484) [x86_64-linux]
  - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
  - RUBY EXECUTABLE: /usr/bin/ruby1.9.1
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/1.9.1
     - /home/vagrant/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
vagrant@vagrant-ubuntu-trusty-64:~/c/work2$

Project environment

Use bundler for this.

References

⚠️ **GitHub.com Fallback** ⚠️