Как получить & ldquo; ruby ​​& rdquo; делать то, что & ldquo; ruby1.9.1 & rdquo; делает?

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

Независимо от того, какую версию я должен использовать, вопрос все же имеет значение: что может сделать одна команда другой командой?

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

7
задан 9 August 2011 в 06:42

12 ответов

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 25 May 2018 в 19:25
  • 1
    Это сценарий оболочки? Я понятия не имею, как работать с одним из них ... Я попытался скопировать строки в командной строке. Это не сработало. Помогите, что мне делать. – Daniel 9 August 2011 в 18:18

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 25 July 2018 в 21:29

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 2 August 2018 в 03:07

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 4 August 2018 в 18:58

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 6 August 2018 в 03:19

С самого начала вам не нужно было писать приложение C - простая запись в стиле bash сделала бы вас хорошо.

Я думаю, что самое чистое возможное решение будет включать в себя систему 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
ответ дан 7 August 2018 в 21:01

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 25 May 2018 в 19:25

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 25 July 2018 в 21:29

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 2 August 2018 в 03:07

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 4 August 2018 в 18:58

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 6 August 2018 в 03:19

Вот еще один вопрос по тому же духу: как вы удалите 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
ответ дан 7 August 2018 в 21:01

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

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