asdf-vm/asdf-ruby

Share gems between Ruby minor versions

Open

#119 opened on May 29, 2019

View on GitHub
 (2 comments) (9 reactions) (0 assignees)Shell (157 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (736 stars)
PR merge metrics
 (Avg merge 7m) (1 merged PR in 30d)

Description

There's a nice plugin rbenv-communal-gems for rbenv to share the gem directories for minor versions, so e.g. all 2.6.x Rubies use the same gempath,2.5.x Rubies use another one, etc.

This is the standard approach used by Ruby itself, so this shouldn't cause any breakage and can save lots of space and headaches :)

It works by symlinking the gems folder inside the different Rubies:

$ ls -l ~/.rbenv/gems/
total 12
drwxr-xr-x 9 toupeira toupeira 4096 Mai 27 17:41 2.4.0
drwxr-xr-x 9 toupeira toupeira 4096 Mai 28 09:11 2.5.0
drwxr-xr-x 9 toupeira toupeira 4096 Mai 28 15:09 2.6.0
$ ls -l ~/.rbenv/versions/2.6.3/lib/ruby/gems
lrwxrwxrwx 1 toupeira toupeira 16 Mai 18 05:51 /home/toupeira/.rbenv/versions/2.6.3/lib/ruby/gems -> ../../../../gems

Contributor guide