On Mac OS X 10.9.0 through 10.9.2, Apple shipped a Ruby and RubyGems installation that was missing specifications for the libraries that are included with Ruby by default, which leads to the user having to install a gem like the JSON gem even though the user already has that library installed.
(This is even more problematic if you want users to be able to install gems without having to have a properly configured compiler toolchain. I.e. where you do not want users to have to install gems with C extensions, such as the JSON gem.)
This was fixed starting from Mac OS X 10.9.3.
The following libraries are installed by default and should have their specifications installed:
$ ls -l /Library/Ruby/Gems/2.0.0/specifications/default
-rw-r--r-- 1 eloy staff 766 Oct 28 13:26 bigdecimal-1.2.0.gemspec
-rw-r--r-- 1 eloy staff 601 Oct 28 13:26 io-console-0.4.2.gemspec
-rw-r--r-- 1 eloy staff 537 Oct 28 13:26 json-1.7.7.gemspec
-rw-r--r-- 1 eloy staff 341 Oct 28 13:26 minitest-4.3.2.gemspec
-rw-r--r-- 1 eloy staff 4836 Oct 28 13:26 psych-2.0.0.gemspec
-rw-r--r-- 1 eloy staff 1481 Oct 28 13:26 rake-0.9.6.gemspec
-rw-r--r-- 1 eloy staff 2758 Oct 28 13:26 rdoc-4.0.0.gemspec
-rw-r--r-- 1 eloy staff 762 Oct 28 13:26 test-unit-2.0.0.0.gemspec
To fix, for instance, the JSON gem, perform the following steps:
$ sudo mkdir /Library/Ruby/Gems/2.0.0/specifications/default
$ sudo curl -o /Library/Ruby/Gems/2.0.0/specifications/default/json-1.7.7.gemspec \
https://raw.githubusercontent.com/flori/json/v1.7.7/json.gemspec
After which you should have the following:
$ ls -l /Library/Ruby/Gems/2.0.0/specifications/default
-rw-r--r-- 1 root wheel 4842 Nov 3 13:32 json-1.7.7.gemspec
run sudo curl -o /Library/Ruby/Gems/2.6.0/specifications/default/json-1.7.7.gemspec https://raw.githubusercontent.com/flori/json/v1.7.7/json.gemspec