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

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

44 голосов
/ 10 июля 2009

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

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

Ответы [ 8 ]

61 голосов
/ 03 декабря 2009

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

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

С установкой RVM 1.9.2 очень проста.

34 голосов
/ 15 марта 2010
sudo apt-get install ruby1.9.1-full

(http://www.ruby -lang.org / о / загрузки / )

29 голосов
/ 24 марта 2012

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

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 фактически является ruby ​​1.9.2.

7 голосов
/ 12 июля 2009

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

4 голосов
/ 16 марта 2010

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

4 голосов
/ 10 июля 2009

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

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

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

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

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

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

function setupruby {
     export PATH=/opt/ruby/bin/:$PATH
}
1 голос
/ 02 августа 2010

Я создал панель запуска 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 голосов
/ 10 июля 2009

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

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

...