2012-01-11 4 views
0

Я использовал стандартную систему ruby ​​версии 1.8.7 без RVM для нескольких проектов рельсов и не столкнулся с какими-либо проблемами. Я только недавно установил RVM, и после запуска rvm requirements я получаю этот выход:Какой смысл устанавливать ту же версию Ruby через RVM как систему Ruby?

To use an RVM installed Ruby as default, instead of the system ruby: 

    rvm install 1.8.7 # installs patch 357: closest supported version 
    rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system.gems # migrate your gems 
    rvm alias create default 1.8.7 

Я считаю, что эти команды делают это, чтобы установить те же камни, которые уже были установлены с использованием системы рубина под РВМ установлена ​​рубина.

Мои вопросы: я прав, что делают эти команды? и если я прав, почему это важно сделать, потому что, если бы я хотел использовать RVM, установленный Ruby другой версии, такой как 1.9.2, разве это уже не будет отделять драгоценные камни в этой версии от рубины системы?

ответ

3

Единственное, что приходит на ум, заключается в том, что если вы используете систему Ruby, вы будете использовать ее несколько иначе, чем Ruby RVM - например, вам, скорее всего, понадобится использовать sudo для установки драгоценных камней. Кроме того, вы не сможете использовать многие функции RVM, например gemset, с системой Ruby.

1

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

0

Мои вопросы: я прав, что делают эти команды?

Вы правы в том, что они делают. Первая команда устанавливает Ruby 1.8.7, вторая команда устанавливает все драгоценные камни, которые в настоящее время устанавливаются на вашей системе. Установка Ruby в новой установке RVM Ruby 1.8.7, а третья команда устанавливает версию Ruby по умолчанию для RVM Ruby 1.8. 7.

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

Вторая команда на самом деле более удобна, чем необходимость. Да, установки драгоценных камней в RVM 1.8.7 будут полностью отделены от тех, которые установлены в системной версии Ruby; однако, если вы не выполнили вторую команду, вы RVM 1.8.7 начнете с почти без камней (только по умолчанию). Это означает, что вам нужно будет пройти и вручную установить драгоценные камни, необходимые для запуска и запуска вашего проекта. Вместо этого вторая команда позволяет вам просто установить те же самые драгоценные камни, которые вы уже установили в системной версии Ruby, в версию RVM 1.8.7 - она ​​не переносит их, а просто копирует их. После второй команды есть два разных набора одинаковых драгоценных камней: один в системе Ruby и один в RVM 1.8.7 Ruby. Итак, если вы собираетесь обновлять драгоценные камни в любом из Rubies, они будут обновляться, но драгоценные камни другой версии не будут затронуты.

Надеюсь, что это поможет ответить на ваш вопрос.

Смежные вопросы