Я хочу начаться путем высказывания... Я действительно не должен использовать 1.9.2. Я понимаю, что Вы, никогда никогда не используете Python 3.2, поэтому если общий совет будет состоять в том, что я должен использовать 1.8, я сделаю это. Но не говорите мне делать это, потому что это легче.
Безотносительно версии я должен использовать, тем не менее, вопрос, все еще релевантно: что хороший путь состоит в том, чтобы сделать одной командой, другой управляет?
(Я предполагаю, что мог записать c программу, чтобы запустить ruby1.9.1, назвать исполняемый рубин и поместить его в мое мусорное ведро, но это походит на меньше, чем хорошая идея),
Хорошо для начала, Вы не должны были бы писать приложение C - простая частушка удара сделает Вас прекрасный.
Я думаю, что самое чистое возможное решение включило бы update-alternatives
система. Это - то, как, например, Ubuntu удается сохранить различные виртуальные машины Java разделенными, в то время как установлено друг вместе с другом. Проблема - Вы, должен установить его сами.
Я просто столкнулся с сообщением списка рассылки, которое, действительно кажется, делает большую часть тяжелого подъема для Вас. Вы, возможно, должны были бы изменить номера версий немного, но кроме которого, необходимо получить идею.
Для потомства (в случае, если Google отклоняет URL или поток), я скопирую в бизнес-конце теперь, но я не беру кредита на запись его.
If any of you are using Ubuntu this is a pretty nice way to manage multiple
ruby interpreters.
It has the advantage of managing the manpages, ri, and irb as "slaves", so
they change when a new interpreter is selected.
here's the code:
# become root
su
# make sure the packages are installed for 1.8 & 1.9
aptitude install -s ~n^ruby1.[89]$ ~n^irb1.[89]$ ~n^ri1.[89]
# install ruby1.8 & friends with priority 500
# so this will be the default "auto" choice
update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.8 500 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz \
/usr/share/man/man1/ruby.1.8.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.8 \
--slave /usr/bin/irb irb /usr/bin/irb1.8
# install ruby1.9 & friends with priority 400
update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9 400 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz \
/usr/share/man/man1/ruby.1.9.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.9 \
--slave /usr/bin/irb irb /usr/bin/irb1.9
# choose your interpreter
# changes symlinks for /usr/bin/ruby ,
# /usr/bin/irb, /usr/bin/ri and man (1) ruby
update-alternatives --config ruby
for those with additional interpreters in say /usr/local/bin, other Debian
variants, or managing other tools, vary as required.
% man update-alternatives
hope wrapping didn't mangle it too much, and that someone finds this useful
...
--
cheers,
David Lee
Вот другой вопрос вдоль той же вены: Как Вы удаляете Ruby 1.8.7 и устанавливаете Ruby 1.9.2?
Это - решение, должен выполнить следующую команду:
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]