Pull to refresh

Comments 15

хотим получить надёжный и воспроизводимый результат

Ubuntu

воспользуемся RVM

facepalm.jpg
убунта сервер вполне себе надежная вещь.
а рвм по сути просто руби установленный в другое место и симлинк на него, тоже вполне себе надежно.
Видимо имелось в виду, что не ubuntu/debian-way устанавливать софт не из deb-пакетов/репозиториев.
Ubuntu 10.04
$ apt-cache show rails|grep Version
Version: 2.2.3-2 (а требуется 2.3.11)
$ apt-cache show rubygems|grep Version
Version: 1.3.5-1ubuntu2 (требуется 1.6.x)
и т.д.

Смысл топика заключается как раз в том, чтобы показать как создать окружение не в корневой система, в директории специально выделенного пользователя. В этом случае:
1) обновления системы ничего не сломают;
2) можно сделать несколько окружений с разными версиями (может быть полезно при обновлении Redmine до новой версии).
Это я всё в курсе. Но всё равно не debian-way. Мне подкидывали идею, что и rvm, и ruby, и гемы можно пакетами оформить самому и хотя бы ручками их ставить (а лучше рп свой поднять хотя бы локально), но я что-то не осилил. Ручками всё разворачиваю вообще.
debian-way автору не нравится, он захламляет что-то там у него.

В противном случае он бы уже давно воспользовался например вотэтим и поставил все в стандартные каталоги.

Указывайте версию при установке rails
gem install -v=2.3.11 rails
и будет нужная.

А вот это, требуется 1.6.x вы откуда взяли?
> Version: 1.3.5-1ubuntu2 (требуется 1.6.x)

Читайте требования, там же ясно сказано:
RubyGems <= 1.6

не debian-way (package-disributive-way =) ) это компилять все из сорцов и ставить make-install'ом.
в случае рвм, все ставить в $HOME/.rvm и на систему никак не влияет.
Не хочу вас обидеть, но:

1. Смотрим на требования redmine:

Redmine version | Supported Ruby versions
current trunk | ruby 1.8.7, 1.9.2, 1.9.3


2. Ищем в стандартных репах бубунты руби (у меня как ни странно под рукой как раз Ubuntu 10.04 LTS)

$ aptitude search ruby

получаем в списке:

p ruby
p ruby1.8 — интерпретатор объектно-ориентированного языка сценариев
p ruby1.9 — интерпретатор объектно-ориентированного языка сценариев

p rubygems — package management framework for Ruby libraries/applicati
p rubygems1.8 — package management framework for Ruby libraries/applicati
p rubygems1.9 — package management framework for Ruby libraries/applicati
p rubygems1.9.1 — package management framework for Ruby libraries/appli

т.е. имеем версию ruby 1.9 доступной для установки через обычный apt-get install. И ставим rubygems, точно так же.
3. Дальше через gem install ... ставим все что нужно и каких нужно версий

Собственно все. Никаких сборок из исходных кодов, о которых вы пишите не присуствует, все стандартно, систему никто не захламляет.

Всех благ.
gem install засорит систему — потом не вычистишь. Предпочитаю всё непакетированное ставить либо в /opt либо в домашнюю директорию выделенного пользователя.
rubygems — настраивается, можно указать ему куда исталить гемы, в том числе в домашнюю папку выделенного пользователя.
Можно и раньше я именно так и делал. Но на поддержку скриптов создающих необходимое окружение уходило слишком много времени. Если бы это было так — указал GEM_HOME и всё работает, то можно было бы и без RVM обойтись, но скрипты стали слишком сложные. С RVM всё проще.
Допустил ошибку, правильно так:

> т.е. имеем версию ruby 1.8 доступной для установки через обычный apt-get install

$ apt-get install ruby1.8
...

$ ruby --version
ruby 1.8.7 (2010-06-23 patchlevel 299) [x86_64-linux]


Как видим, 1.8.7 подедрживается всеми версиями рэдмайна (http://www.redmine.org/projects/redmine/wiki/RedmineInstall)

В отличии от 1.9

> Compatibility notes
>
> Ruby 1.9 is not supported yet. You have to use Ruby 1.8.x as stated above.
Жаль, что Редмайн на третие рельсы никак не перепишут
Sign up to leave a comment.

Articles