Как установить ruby ​​1.9.2 на debian lenny?

Я хотел бы установить новейшие рубины и рельсы на моем сервере debian lenny.

Я нашел пакет http://packages.debian.org/lenny-backports/ruby1.9.1-full, но когда я пытаюсь установить его, я просто получаю:

atlas:~# apt-get install ruby1.9.1-full
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Couldn't find package ruby1.9.1-full

Мои sources.list выглядят следующим образом:

atlas:~# cat /etc/apt/sources.list

deb http://ftp.se.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.se.debian.org/debian/ lenny main non-free contrib

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Что мне нужно сделать, чтобы установить его?

Ответы

Ответ 1

Стоп. Возвращаться. Установите любую версию Ruby Debian, возможно, 1.8.7 или 1.8.7. Затем установите RVM. У меня есть несколько направлений для использования RVM с Ubuntu (извините, но не Debian, но он близок). Серьезно, RVM делает установку любой версии Ruby easy. Затем используйте RVM для установки Ruby 1.9.2, вы не хотите 1.9.1.

Это будет работать в зависимости от того, для чего вы хотите использовать Ruby. В целях развития использование RVM работает очень хорошо. Для серверных целей, я полагаю, он может быть использован, но у вас могут быть некоторые проблемы. Я думаю, что RVM дает вам некоторые скрипты, которые вы можете использовать для запуска скриптов Ruby с помощью сценариев init и заданий cron.

Или вы можете просто установить из источника. Это не сложно, и это не дебианский способ, но он выполнит свою работу. Это может быть предпочтительнее устанавливать некоторые сторонние пакеты, где вы, возможно, не знаете, что они делали во время компиляции, и как быстро получать обновления в случае уязвимости безопасности. Используя RVM или устанавливая вручную из источника, вы можете обновлять его, когда это необходимо.

Ответ 2

Сначала запустите это:

apt-get update

Затем установите Ruby

apt-get install ruby

Затем вам нужны рубигемы

wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz

Untar rubygems...

tar xvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb
ln -s /usr/bin/gem1.8 /usr/bin/gem

Теперь обновите rubygems

gem update --system

И теперь мы можем установить рельсы

gem install rails

Вы можете проверить, была ли установка успешной с помощью следующих команд:

ruby -v
rails -v
gem -v

Если вам нужна дополнительная помощь, дайте мне знать!

Если вы хотите, чтобы Ruby 1.9.2 заменил следующие команды:

apt-get install ruby

с

apt-get install ruby1.9

Если вам нужны заголовки dev, вы можете просто установить ruby1.9-dev.

apt-get install ruby1.9-dev

Если вы не можете установить их таким образом, вам нужно посмотреть ваши источники apt-get.

apt-cache search ruby1.9

libhtree-ruby1.9 - HTML/XML tree library for Ruby 1.9
....
libinotify-ruby1.9 - Ruby interface to Linux inotify system
....
libdbm-ruby1.9 - DBM interface for Ruby 1.9
libgdbm-ruby1.9 - GDBM interface for Ruby 1.9
....
**ruby1.9-dev** - Header files for compiling extension modules for the Ruby 1.9
ruby1.9-elisp - ruby-mode for Emacsen
ruby1.9-examples - Examples for Ruby 1.9
**ruby1.9** - Interpreter of object-oriented scripting language Ruby 1.9
libstfl-ruby1.9 - Ruby bindings for the structured terminal forms language/library

Я надеюсь, что эта помощь. И я бы предложил использовать RVM (но я не рассматривал это здесь..)

Ответ 3

RVM - отличное решение, но не для производственных сред. Его волшебство $PATH слишком тонкое и слишком часто ломается.

Я бы предложил создать .deb для себя. Вы компилируете Ruby из исходного кода, а затем устанавливаете его с помощью checkinstall. Затем вы можете распространять файл .deb, который он создает на любой компьютер, и устанавливать/удалять его с помощью dpkg, как и с любым пакетом.

Вот учебник, который делает это в Ubuntu; он должен легко перевести на Debian.

Ответ 4

Не устанавливайте какие-либо рубины Debian, недавно один из главных сопровождающих отказывается от них: http://www.lucas-nussbaum.net/blog/?p=617 Рубины Debian были уродливыми и часто ломались, поэтому лучший способ установить его - теперь использовать rvm, небольшую программу, которая управляет gemset и различными версиями рубинов на одной машине.

Ответ 5

Если вы хотите установить пакет из репозитория Lenny backports, вам, очевидно, нужно будет его в sources.list:

deb http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free
deb-src http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free

Поскольку backports не подвергаются нормальному строгому обзору качества, что другие пакеты, они по умолчанию отключены. Если вы хотите установить пакет из репозитория backports, вам необходимо явно передать дистрибутив на apt-get или aptitude, как в репозитории experimental:

apt-get -t lenny-backports install ruby191-full # or
aptitude -t lenny-backports install ruby191-full

Поскольку пакеты с обратным доступом по умолчанию отключены, вы даже не получите для них обновлений безопасности, если не добавить пиннинг в /etc/apt/preferences:

Package: *
Pin: release a=lenny-backports
Pin-Priority: 200

Все это четко указано на веб-сайте Debian Backports.

Обратите внимание, что вы должны быть осторожны, чтобы не смешивать системы управления пакетами. Вы должны либо установить все библиотеки Ruby через APT, либо через RubyGems, но, как правило, не рекомендуется смешивать их.

Кроме того, если вы используете пакет Debian RubyGems, вы должны обновлять его только через APT, а не через встроенный механизм обновления RubyGems (gem update --system). На самом деле, я считаю, что в текущих версиях Debian удалил механизм обновления, чтобы предотвратить это, но это не всегда так.

Лично я использую пакеты Ruby без проблем на рабочем сервере, и я вообще не использую RubyGems, я использую только библиотеки Ruby, предоставляемые Debian.