HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
postmodern
chruby
Shell2012–2021
postmodern / chruby

chruby

Changes the current Ruby

15Distinct people
17Mentions
0Explicit recommenders
2.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Changes the current Ruby

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2012-11-19 09:25:23 UTC to 2021-07-18 15:08:59 UTC.

0123452012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC110
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC514
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC505
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

What Hacker News says

17 sources
It's possible you can already easily use with chruby by just pointing chruby at it? I haven't tried, I am interested if anyone wants to report back! https://github.com/postmodern/chruby#rubies-1 (You don't need to use ruby-install with chruby, you can use whatever method of installing rubies you want. The chruby README even includes instructions for `ruby-build`. But normally whatever method you use, you install to `/opt/rubies` or `~/.rubies` which is where chruby will look. But fullstaq ruby insists on installing to it's own locations. But possibly chruby will be fine with that if you just tell it where that is... but you might need to do it for each ruby you install, which woudl be annoying. You could probably write a little bash shim which just checked the fullstaq install location for which rubies it had, and then just added them e
Read the rest
ach individually?)
In Fullstaq Ruby: Ruby, optimized for production
This would be problematic for any programming language, though. However, if you do want an elegant solution for your problem, may I recommend ruby-install[1] and the companion for easily changing between versions, chruby[2]. Alternatively, you could try RVM[3]. There are a couple more versions (one is even specifically designed for Windows), but I found ruby-install and chruby to be the most convenient ones for both personal and professional use. [1] https://github.com/postmodern/ruby-install [2] https://github.com/postmodern/chruby [3] https://rvm.io/
In CodeReddit: Cover UI for Reddit at Work
As Ruby is an interpreter most executables just have "#!/usr/bin/env ruby" at the top of the file. If you have multiple versions of Ruby, this may or may not pick up the correct version you have installed. Historically the interpreter has made quite a few breaking changes, didn't follow semantic versioning and didn't care about backwards compatibility. What these tools do is alter the environment so that you can 'lock' specific versions of the interpreter. The same problem also occurs with libraries, which may also have their own executables, so these tools have tried to solve both problems - which is slightly more complicated than a three line shell script. Bundler has become the standard way of managing libraries, so now something like chruby[0] can be used to do pretty much what you said for the interpreter alone. Of course the other t
Read the rest
ools (that do a lot more) still have their historical followers... If you are wondering why you need to support multiple versions, these tools are mainly for use in development environments where you will probably have to support legacy software that is no longer actively maintained. [0] https://github.com/postmodern/chruby/blob/master/share/chrub...
In Rbenv 1.0.0
As someone who tried RVM for a while and until it's problems became obvious, and lived (very successfully) with rbenv as an escape for a long time afterwords, I have been liking chruby: https://github.com/postmodern/chruby It doesn't have most of the problems of RVM/rbenv, and mainly provides an easy way to switch between rubies while leaving everything else as full-path references instead of the "magic" tht RVM tries to provide. That said, I really like the local $GEM_HOME method, and guix sounds like an interesting solution.
In Ruby on Guix
While I'm not familiar with python & virtualenv, the problem of that would be solved by putting rails in a container (isolating the ruby environment in a fairly easily deployable way) was solved many years ago with Gemfiles/bundler[1] that pin your dependencies, and the various ways of deploying multiple rubies. RVM does indeed suck hard, but rbenv[2] is very simple (I've used it personally to develop and deploy a few projects). One of the preferred ways to deploy rails is (was? I did this ~2 years ago) was to check it in with git and the name/version of the ruby environment to use is stored in the file ".rbenv-version", with dependencies managed by bundler (which you point to a local gem server). Install is then 1) use rbenv/ruby-install to install basic ruby, 2) install app with "git clone", and 3) run bundler. Many tools exist to do th
Read the rest
is in one step over ssh/etc automagically. Even better than rbenv, you can just use chruby[3] to point to any rubies you want; just check one into your project itself (or whatever) and configure the siteruby/etc load paths to point to project directories. Really, chruby just fixes up your dev environment to point to a specific ruby; you set the actual project to be self contained with known paths, just like you would do de facto in a container. While dependency issues were a problem back in the ruby 1.8 / rails 2.x days, this [1] http://bundler.io/ [2] https://github.com/sstephenson/rbenv [3] https://github.com/postmodern/chruby
In Interview with Eric Brewer
Read the rest
/ruby/2.1.5/railsexpress/05-funny-falcon-stc-density.patch -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/ra… -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/ra… -p https://raw.githubusercontent.com/skaes/rvm-patchsets/master/patches/ruby/2.1.5/ra… -- CC=clang and you can use it with https://github.com/postmodern/chruby if you need to to switch between versions. As for GC, I am not sure it makes much of a difference as it used to back in the days. Probably even less when 2.2 ships with incremental garbage collection. It always depends on the type of work your app does also.
In Ruby compiled with Clang is 8% faster than with GCC 4.9, 44% faster than GCC 4.7
> RVM shouldn't still be around because of its user-hostile behavior of modifying the user's dotfiles (.bashrc, etc.) on installation without warning or permission. RVM tells the user very clearly that it has modified the user's dotfiles. And how many people do not want to modify the dotfile? Which user thinks, "oooh, modifying dotfiles is so evil, I'll just type in this command every single time I open a terminal"? At the end of the day, RVM just inserts a few lines to the dotfiles. What's the problem with that? Actually, chruby does not modify my dotfile for me, and I thought that modifying the dotfile is optional. I figured I'll just manually source chruby.sh every time I want to use it, just to experience how it's like. And then I ran into issues like this: https://github.com/postmodern/chruby/issues/213 Thanks but no thanks. I'd rath
Read the rest
er have the software modify my dotfile so that it can give me a pleasant user experience. > For example, I've had cases where after installing it, I could not view man pages for any programs because installing RVM modified broke my $MANPATH. In other cases, things that were failing for other reasons started producing confusing errors due to RVM doing sketchy things like replacing cd with a shell function. Never seen these problems before. Have you reported these problems? Have they been fixed in the latest version? If these problems are fixable then why throw the baby out with the bath water? As for replacing cd with a shell function: it's because it's one of the few ways auto-switching can be implemented. They found in a user survey that 80% of the users want auto-switching, so who are they to say "no" to their users? What problems have you experienced because of this? chruby's auto.sh implements the same functionality by installing itself into the shell's DEBUG hook... but is that really any better?
In RVM 2.0: Convert 20,000 lines of shell script into Ruby [Fundraiser]

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.