Установка Ruby 1.9.1 в Ubuntu?

46

Мне интересно установить последнюю версию Ruby на Ubuntu 9.04. Теперь я могу отлично работать с тегами ./configure и make, но о чем мне интересно: как избежать конфликтов с системой упаковки? Например, если какой-либо другой пакет, который я устанавливаю, зависит от Ruby, не будет ли диспетчер пакетов устанавливать (устаревший) пакет Ruby и в худшем случае перезаписать мои файлы?

Итак, я думаю, мне нужно каким-то образом сказать Ubuntu, что Ruby на самом деле уже установлен?

  • 0
    Итак, из чистого любопытства, есть ли причина иметь абсолютную последнюю версию ruby? Я имею в виду, что это круто, но есть ли какие-то особенности, которые вам нужны, которые есть в этой новейшей версии, которых нет в старых версиях? Если нет, кажется, что нет необходимости обновлять.
  • 11
    Я так думаю - у него есть поддержка юникода, во-первых, он работает намного быстрее и предположительно исправил некоторые утечки памяти в старых версиях. Хотя я не специалист по Ruby. Тем не менее, я занимаюсь разработкой на Mac и заметил, что Ruby 1.9.1, который поставляется с MacPorts, не совместим с версией 1.9.0, которая поставляется с Ubuntu. Тем не менее, Unicode действительно важная вещь для меня. Я слышал, что это работает в Rails с Ruby 1.8, но я не мог получить какую-либо определенную информацию об этом. Также у меня есть не только Rails-приложения, но и автономный Ruby.
Показать ещё 2 комментария
Теги:
package-managers
ubuntu-9.04

8 ответов

58
Лучший ответ

Сохраните головную боль и используйте RVM (Ruby Менеджер версий)

Имейте в виду, что Rails 3 лучше всего работает с Ruby 1.9.2. Ruby 1.9.2 исправляет довольно много ошибок в 1.9.1 и предпочтительнее использовать 1.9.1.

При установке RVM 1.9.2 это легкий ветерок.

  • 2
    +1000 Я наконец-то нашел время попробовать это на OSX сегодня, и это блестяще. Эта страница была особенно полезна: rubyinside.com/rvm-ruby-version-manager-2347.html
  • 0
    Мой мир разрушен! Я должен был проверить это раньше. =] RVM потрясающий!
Показать ещё 5 комментариев
35
sudo apt-get install ruby1.9.1-full

(http://www.ruby-lang.org/en/downloads/)

  • 0
    ruby -v по-прежнему выдает версию 1.8.7.
  • 0
    Возможно, вам понадобится sudo apt-get remove ruby
Показать ещё 2 комментария
30

После запуска

sudo apt-get install ruby1.9.1-full

Это решение - запустить следующую команду:

sudo update-alternatives --config ruby

Затем вы получите этот вывод:

   There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

     Selection    Path                Priority   Status
   ------------------------------------------------------------
   * 0            /usr/bin/ruby1.8     50        auto mode
     1            /usr/bin/ruby1.8     50        manual mode
     2            /usr/bin/ruby1.9.1   10        manual mode

   Press enter to keep the current choice[*], or type selection number: 2
   update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in    manual mode.
   $ ruby --version
   ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

Кредит для этого решения предоставляется человеку, который ответил https://askubuntu.com/questions/91693/how-do-you-uninstall-ruby-1-8-7-and-install-ruby-1-9-2. В настоящее время пакет ruby1.9.1 на самом деле рубиновый 1.9.2.

  • 1
    Спасибо за это - я просто взорвал половину дня деинсталляция Переустановите его, составление и перекомпиляции из источника, а затем с помощью RVM, все время интересно, почему «Рубин -v» упорно продолжал возвращаться 1.8.7. Я не знаю, почему это не по крайней мере на странице установки RVM.
  • 0
    Еще раз спасибо за это и +1. Отлично работает на 12.04!
Показать ещё 2 комментария
7

То, как я это делал, это создать его с помощью checkinstall, который позволяет вам создавать deb-пакет. Поэтому я загрузил источник Ruby 1.9.1, сделал "configure", а затем "make", сделал "checkinstall" и сделал имя пакета ruby1.9, поэтому он устанавливает, как если бы это была новая версия ruby ​​1.9 (так как она должен).

4

Вот короткий и удобный способ установки 1.9.1 и сделать его по умолчанию: http://michalf.me/blog:make-ruby-1-9-default-on-ubuntu-9-10-karmic-koala

4

Я получил информацию о Ruby от этого сайта. Вы можете установить большинство программ в другой каталог с помощью ключа -prefix =/path. И это обычно устанавливается в/opt/для всех на вашем ПК или в $HOME, если это только для вас.

Для установки в /opt:

$ ./configure –prefix=/opt/ruby
$ make install

Если вы хотите использовать /opt установленный рубин, отредактируйте файл ~/.bashrc и добавьте

export PATH=/opt/ruby/bin/:$PATH

Если вы не хотите, чтобы пользовательская сборка Ruby была по умолчанию, вы можете добавить это в свой ~/.bashrc вместо прежней команды

function setupruby {
     export PATH=/opt/ruby/bin/:$PATH
}
  • 0
    Спасибо, очень полезно - по крайней мере, таким образом я могу избежать конфликтов.
1

Я создал пусковую панель ppa для ruby ​​1.9.2. Подробности в ссылках ниже

http://www.humbug.in/2010/launchpad-ppa-for-ruby-1-9-2-and-some-ruby-bindings/

sudo add-apt-repository ppa:pratikmsinha/ruby192+bindings
cd /etc/apt/sources.list.d/; sudo mv pratikmsinha-ruby192+bindings-lucid.list pratikmsinha-ruby192bindings-lucid.list
sudo aptitude update
sudo aptitude install ruby1.9.2
  • 0
    Я добавил окончательную сборку ruby 1.9.2 в свой ppa
  • 0
    Подробнее об этом читайте здесь humbug.in/2010/…
0

Просматривая Synaptic, вам кажется, что вам даже не нужно иметь дело с многопользовательскими или сторонними репозиториями. Но поскольку sudo apt-get install ruby в настоящее время устанавливает псевдоним ruby1.8, вы должны установить ruby1.9 явно - вручную или через репозитории - и создать собственный псевдоним ruby самостоятельно.

Вы можете захотеть поместить двоичный код в /usr/bin с тех пор, где распределение все равно поместит его. Однако в любом месте на вашем PATH все нормально.

  • 0
    У меня сложилось впечатление, что в репозиториях есть только Ruby 1.9.0, который кажется несовместимым с Ruby 1.9.1. Тем не менее, версия 1.9.1 должна быть финальной, а версия 1.9.0 - просто версией для разработчиков.
  • 0
    Ты прав. Похоже, вам пока придется создавать его самостоятельно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню