Although some system package managers on Linux or Unix provides Ruby gems as package, you still want to
gem to install updated or specific gems sometimes. One popular way is using RVM, a command-line tool which allow you to manage multiple Ruby environment. Nevertheless, if you do not need multiple Ruby versions in one system, you may also choose to install Ruby gems to local directories like home directory. By this way, gems files will not be mixed with other system files.
To install gems locally, set ~/.gemrc. Before that, type
gem environment in terminal to get some information about gem environment. What you need is GEM PATHS.
$ gem environment # other message omitted... - GEM PATHS: - /Library/Ruby/Gems/2.0.0 - /Users/user/.gem/ruby/2.0.0 - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
Edit ~/.gemrc. Set gemhome and gempath variable with your own values. Personally, I prefer to store all library files in ~/lib. You may set to other path. Remember to set with absolute path because ~/.gemrc is not a shell script file.
gemhome: /Users/user/lib/gems gempath: - /Users/user/lib/gems - /Library/Ruby/Gems/2.0.0 - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
Set GEM_HOME, GEM_PATH and PATH variable in ~/.profile or ~/.bash_profile to use executives.
export GEM_HOME=$HOME/lib/gems export GEM_PATH=$HOME/lib/gems if [ -d $HOME/lib/gems/bin ]; then PATH=$HOME/lib/gems/bin:$PATH fi export PATH
Finally, you can install gems in home directory and enjoy Ruby programming.