Як встановити та використовувати різні версії ruby?


16

Я вивчаю рейки з різних книг, які використовують різні версії як рубіну, так і рейок. Зараз у мене на моєму Mac OS X Snow Leopard (в /usr/bin) встановлений рубін 1,87 , але потрібно також використовувати рубін 1,9 для іншого застосування рейки.

Хтось може сказати мені, як зробити цю роботу? Я новачок у цьому, тому якомога більше вказівок були б дуже вдячні.

Відповіді:


21

Є два "менеджери версій Ruby", які ви можете вибрати:

Вони дозволяють зберігати кілька версій Ruby в одній системі. Після того як ви встановите менеджер версій і встановите власну версію Ruby, ви не зіпсуєтеся з Ruby вашої системи та її Gems, що є найбільшою перевагою. Не більше sudo! Немає більше помилок у дозволах та конфліктів із Gem

Яку вибрати?

Обидва роблять те саме, але дотримуються різних філософій. Вибір залежить від вас.

Я особисто рекомендую rbenvдля простоти. Я використовую його з років, і він завжди добре працював. Раніше я б рекомендував RVM (і попередня версія цієї відповіді насправді згадувала його), але мені здається, що в неї важче потрапити.

Як їх встановити?

Якщо ви вибрали rbenv:

  • Дотримуйтесь інструкцій із встановлення
  • Встановити ruby-build
  • Запустіть, rbenv install x.x.xде x.x.xє версія (використовуйте, rbenv install --listщоб побачити, які з них доступні
  • Запустіть, rbenv global x.x.xщоб змінити вашу глобальну версію Ruby

Якщо ви вибрали RVM:

  • Використовуйте безпечний спосіб установки
  • Прочитайте інструкції з установки - можливо, вам потрібна конфігурація для одного користувача
  • Використовуйте rvm list knownдля переліку доступних рубінів, а потім запустіть rvm install x.x.xдля встановлення певної версії.
  • Використовуйте, rvm use x.x.x --defaultщоб змінити стандартний Ruby

1
Див. Також rbenv .
користувач1686

@grawity Чому б не опублікувати ще одну відповідь? Добре мати альтернативи, ще насправді ще не вивчали rbenv.
slhck

велике спасибі, чи це також допомагає перемикатися між версіями Rails? У різних книгах я використовую 3,05 (я думаю) та 3,1, і це спричиняє проблеми ...
Майкл

Я спробував встановити написану вами лінію (і яка також знаходиться на сайті rvm) і отримав повідомлення про помилку: bash: рядок 152: git: команда не знайдена bash: рядок 154: git: команда не знайдена
Michael

Ах, потрібно git, звичайно. Вибачте, я це забув. Ви можете встановити Git за допомогою інсталятора OS X (просто виберіть останню версію вгорі).
slhck

7

Я думаю, що rbenv заслуговує принаймні власної відповіді.

Існує постійна сутичка між фанатами rbenv і любителями RVM, але мені особисто більше подобається rbenv. Як стверджує Сем Стівенсон (автор), rbenv стосується виключно переключення версій Ruby (на відміну від RVM, що робить набагато більше).

В OS X особливо легко спробувати. Просто дотримуйтесь чудових інструкцій з установки на сторінці Github (якщо у вас встановлений Homebrew, це в основному просто а brew install rbenv ruby-build).

Щодо перемикання версій Rails, я одного разу написав статтю про те, що моє зацікавити вас.


1
Ось короткий опис автора rbenv про основні відмінності з RVM та причини вибору rbenv. Простота rbenv була основною причиною для мене переходу від RVM. Управління наборами дорогоцінних каменів, що стосуються додатків, - це IMO краще робити з Bundler - для цього вам не потрібен менеджер версій Ruby.
Йохем Шуленклоппер

Саме робота над керуванням наборами дорогоцінних каменів - це робота Bundler . Я ніколи не був прихильником гемсетів, прив'язаних до менеджерів версій.
Майкл Троянек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.