Мне интересно установить последнюю версию Ruby на Ubuntu 9.04. Теперь я могу отлично работать с тегами ./configure
и make
, но о чем мне интересно: как избежать конфликтов с системой упаковки? Например, если какой-либо другой пакет, который я устанавливаю, зависит от Ruby, не будет ли диспетчер пакетов устанавливать (устаревший) пакет Ruby и в худшем случае перезаписать мои файлы?
Итак, я думаю, мне нужно каким-то образом сказать Ubuntu, что Ruby на самом деле уже установлен?
Сохраните головную боль и используйте RVM (Ruby Менеджер версий)
Имейте в виду, что Rails 3 лучше всего работает с Ruby 1.9.2. Ruby 1.9.2 исправляет довольно много ошибок в 1.9.1 и предпочтительнее использовать 1.9.1.
При установке RVM 1.9.2 это легкий ветерок.
sudo apt-get install ruby1.9.1-full
sudo apt-get remove ruby
После запуска
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.
То, как я это делал, это создать его с помощью checkinstall, который позволяет вам создавать deb-пакет. Поэтому я загрузил источник Ruby 1.9.1, сделал "configure", а затем "make", сделал "checkinstall" и сделал имя пакета ruby1.9, поэтому он устанавливает, как если бы это была новая версия ruby 1.9 (так как она должен).
Вот короткий и удобный способ установки 1.9.1 и сделать его по умолчанию: http://michalf.me/blog:make-ruby-1-9-default-on-ubuntu-9-10-karmic-koala
Я получил информацию о 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
}
Я создал пусковую панель 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
Просматривая Synaptic, вам кажется, что вам даже не нужно иметь дело с многопользовательскими или сторонними репозиториями. Но поскольку sudo apt-get install ruby
в настоящее время устанавливает псевдоним ruby1.8
, вы должны установить ruby1.9
явно - вручную или через репозитории - и создать собственный псевдоним ruby
самостоятельно.
Вы можете захотеть поместить двоичный код в /usr/bin
с тех пор, где распределение все равно поместит его. Однако в любом месте на вашем PATH все нормально.