Вы должны использовать rvm
, как говорили другие, для управления несколькими установками Ruby и Ruby gems.(Если вы пойдете таким образом, найдите время, чтобы внимательно прочитать документацию rvm
.)
Однако вам также должно быть удобно выяснить, какую версию Ruby видит ваша оболочка.по умолчанию и почему.Мне кажется, что ваша переменная $PATH
может не обновляться должным образом.Переменная $PATH
- это то, что определяет, какой интерпретатор Ruby или команда gem
будут видны первыми, если у вас установлено более одного (как сейчас).MacPorts по умолчанию установит новые двоичные файлы в /opt/local/bin
, и он также должен изменить ваш $PATH
, чтобы /opt/local/bin
предшествовал /usr/bin
(именно там живет Apple из коробки Ruby).
IПодозреваю, что когда вы сделали sudo gem install
, вы использовали /usr/bin/gem
(который является установщиком гемов для /usr/bin/ruby
, а не /opt/local/bin/gem
(который был бы установщиком для Ruby MacPort).
Проверьте выводecho $PATH
, which ruby
и which gem
, чтобы увидеть, что происходит.