Вопрос

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

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

Это было полезно?

Решение

Избавьте себя от головной боли и используйте РВМ (Менеджер версий 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

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

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

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.

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

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

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

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

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

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

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

function setupruby {
     export PATH=/opt/ruby/bin/:$PATH
}

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

Я создал launchpad 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 поскольку именно туда дистрибутив поместил бы это в любом случае.Впрочем, любое место на вашем ПУТИ - это прекрасно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top