Как я становлюсь “рубиновым”, чтобы сделать то, что делает “ruby1.9.1”?

Я хочу начаться путем высказывания... Я действительно не должен использовать 1.9.2. Я понимаю, что Вы, никогда никогда не используете Python 3.2, поэтому если общий совет будет состоять в том, что я должен использовать 1.8, я сделаю это. Но не говорите мне делать это, потому что это легче.

Безотносительно версии я должен использовать, тем не менее, вопрос, все еще релевантно: что хороший путь состоит в том, чтобы сделать одной командой, другой управляет?

(Я предполагаю, что мог записать c программу, чтобы запустить ruby1.9.1, назвать исполняемый рубин и поместить его в мое мусорное ведро, но это походит на меньше, чем хорошая идея),

7
задан 8 August 2011 в 18:42

2 ответа

Хорошо для начала, Вы не должны были бы писать приложение 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 
7
ответ дан 23 November 2019 в 06:20

Вот другой вопрос вдоль той же вены: Как Вы удаляете 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]
6
ответ дан 23 November 2019 в 06:20

Другие вопросы по тегам:

Похожие вопросы: