Difference between revisions of "Rbenv"

From ArchWiki
Jump to: navigation, search
(The wiki is incomplete. If rbenv was installed using the git way, then it is missing system dependencies. Even with the hack described for 2.3.X, it is still not enough.)
m (gcc5 is no longer in main repos (available via AUR), I tried with gcc6 and it worked install ruby 2.3.0.)
Line 24: Line 24:
 
Before compiling, make sure you have all the dependencies needed:
 
Before compiling, make sure you have all the dependencies needed:
  
   pacman -S --needed gcc5 base-devel libffi libyaml openssl zlib
+
   pacman -S --needed gcc6 base-devel libffi libyaml openssl zlib
  
 
Installation of Ruby 2.3.x may break down due to openssl version and/or segmentation fault error while compilation. Both errors are described here:
 
Installation of Ruby 2.3.x may break down due to openssl version and/or segmentation fault error while compilation. Both errors are described here:
Line 38: Line 38:
 
Here's a way how you can make a ruby compile:
 
Here's a way how you can make a ruby compile:
  
1. Install '''gcc-5''' and '''openssl-1.0''' packages first:
+
1. Install '''gcc-6''' and '''openssl-1.0''' packages first:
  
   sudo pacman -Syyu openssl-1.0 gcc5
+
   sudo pacman -Syyu openssl-1.0 gcc6
  
 
2. Then run:  
 
2. Then run:  

Revision as of 09:30, 10 November 2017

rbenv (Simple Ruby Version Management) lets you easily switch between multiple versions of Ruby. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

Another tool to be used for the same purpose is RVM.

Installation

You can install rbenvAUR from the AUR.

Plugins

rbenv can be extended via a plugin system, and the rbenv wiki includes a list of useful plugins. The ruby-build plugin is especially useful, as it allows you to install Ruby versions with the rbenv install command. You can install ruby-buildAUR from the AUR.

Troubleshooting

Ruby 2.3.x

Before compiling, make sure you have all the dependencies needed:

 pacman -S --needed gcc6 base-devel libffi libyaml openssl zlib

Installation of Ruby 2.3.x may break down due to openssl version and/or segmentation fault error while compilation. Both errors are described here:

 ossl_ssl.c:465:38: error: ‘CRYPTO_LOCK_SSL_SESSION’ undeclared
 make: *** [uncommon.mk:655: enc.mk] Aborted (core dumped)

Here's a way how you can make a ruby compile:

1. Install gcc-6 and openssl-1.0 packages first:

 sudo pacman -Syyu openssl-1.0 gcc6

2. Then run:

 CC=/usr/bin/gcc-5 \
 PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \
 rbenv install 2.3.4

Ruby 2.x.x

Installation of Ruby 2.0.0, 2.1.4, 2.1.6, 2.1.7, 2.2.2 and 2.2.3 may show this error

 ossl_ssl.c:141:27: error: ‘SSLv3_method’ undeclared here (not in a function)

This can be solved using the patch as described here

 curl -fsSL https://gist.github.com/mislav/055441129184a1512bb5.txt | PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig rbenv install --patch 2.2.3

Ruby 1.9.3

Installation of Ruby 1.9.3 may show the same error:

 ossl_ssl.c:116:27: error: ‘SSLv3_method’ undeclared here (not in a function)

This can be solved by using the patch as described here

 curl -fsSL https://gist.githubusercontent.com/anonymous/679228bc324d6fdd3074.txt | rbenv install --patch 1.9.3-p448

External links