Error:
ERROR: Loading command: install (LoadError)
cannot load such file -- openssl
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
系统中是有 openssl 的,而且 openssl 可以正常工作,只是 ruby 找不到它。至于为什么突然找不到了,那就不太清楚了,推测可能是更新 OS X 时引发的问题吧。试了很多方法,各种不奏效,最后通过以下的方法解决了。大体思路是用 rvm 重新安装 openssl,然后重新安装 ruby,并指定 openssl 的路径。
rvm pkg install openssl
rvm reinstall ruby-2.1 --with-openssl-dir=$rvm_path/usr