On master (8f35c0306192c4b62646f2aa02879c2a8c4f4a07), as ruby 2.3.1 is replaced by 2.3.3, and all ruby packages inherit from ruby 2.3.1, all versions of ruby end up being 2.3.3. For example: → guix environment --container --ad-hoc --pure -e "(begin (use-modules (gnu packages ruby)) ruby-2.1)" -- ruby --version ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux] Removing the replacement line, or adding (replacement #f) to the other packages fixes this.