Skip to content
Gábor Szárnyas edited this page Jun 30, 2016 · 9 revisions

Install Ruby on Linux

  • Set the terminal as a login shell

  • Install RVM

  • Run the following commands:

    rvm install 2.2
    rvm use 2.2 --default

Interactive console

An alternative interactive shell to irb is Pry.

Troubleshooting

gem install fails

Problem:

$ gem install jekyll
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.9.1 directory.

Solution: the solution is not to use sudo, but to tick the Run command as login shell option.

jekyll serve fails

Problem: Jekyll serve fails with the following error:

/home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/linux.rb:30:in `require': cannot load such file -- rb-inotify (LoadError)
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/linux.rb:30:in `_configure'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/base.rb:45:in `block in configure'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/base.rb:40:in `each'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/base.rb:40:in `configure'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/adapter/base.rb:63:in `start'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/backend.rb:26:in `start'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/listener.rb:67:in `block in <class:Listener>'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/fsm.rb:120:in `instance_eval'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/fsm.rb:120:in `call'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/fsm.rb:91:in `transition_with_callbacks!'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/fsm.rb:57:in `transition'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/listen-3.0.3/lib/listen/listener.rb:90:in `start'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/jekyll-watch-1.3.0/lib/jekyll/watcher.rb:10:in `watch'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/jekyll-3.1.6/lib/jekyll/commands/build.rb:72:in `watch'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/jekyll-3.1.6/lib/jekyll/commands/build.rb:39:in `process'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/jekyll-3.1.6/lib/jekyll/commands/serve.rb:34:in `block (2 levels) in init_with_program'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/gems/jekyll-3.1.6/bin/jekyll:13:in `<top (required)>'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `load'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `<main>'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
	from /home/szarnyasg/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

Solution: install Ruby 2.3. It is recommended to use RVM. It is recommended to install Jekyll with the following command, else it will miss jekyll-paginate:

gem install jekyll jekyll-paginate
Clone this wiki locally