sudo redefine seu ambiente por padrão, por isso não pesquisará seu $PATH . Por isso, pode estar tentando executar uma versão padrão do sistema de ruby em vez da listada. Em particular, o $PATH visto por sudo é dado no seu arquivo sudoers :
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Tente usar sudo -E para preservar seu ambiente ou use o nome de caminho totalmente qualificado para ruby ou adicione os caminhos para secure_path antes dos dados fornecidos.