Куда вы должны установить gems с Rubygems для разработки?
Вопрос
Если вы не устанавливаете драгоценные камни с помощью sudo
на компьютере Mac по умолчанию они будут помещены в каталог, подобный
.gem/ruby/1.8/gems/
Если вы устанавливаете с помощью sudo
, насколько я понимаю, они обычно размещаются в системных каталогах, вот так:
/usr/local/lib/ruby/gems/1.8/gems/
Есть ли веская причина, по которой вам следует устанавливать gems с sudo
вместо этого, помимо того, что вы просто позволяете другим делиться ими с вами?*
У меня сложилось впечатление, что вы бы sudo установили gems, потому что если вы как пользователь боб установите драгоценные камни внутри бобкаталог, затем пользователь, подобный www-data (используется Passenger / Apache в Ubuntu Linux при обслуживании файлов), для их использования - это единственная причина, по которой вы используете их таким образом?
Или сейчас лучше всего использовать что-то вроде Менеджер версий Ruby вместо этого сейчас?
Я был бы очень признателен, если бы кто-нибудь из более опытных разработчиков ruby рассказал мне о том, где вы храните свои разработки и почему.
Решение
Запуск gem install с помощью sudo означает, что вы запускаете установку от имени администратора и как таковой устанавливаете ее для всей системы.Если вы запустите как обычный пользователь, он просто поместит драгоценные камни в ваш домашний каталог.
Для вашей машины разработки или сервера /usr/local/lib/ruby/gems/1.8/gems/ почти наверняка является подходящим местом для размещения драгоценных камней.Если вы пользуетесь каким-либо общим хостингом или играете с версиями для разработки некоторых драгоценных камней, обязательно храните их в своем домашнем каталоге, чтобы не загромождать систему для других пользователей.
Я раньше не слышал о Ruby Version Manager.Я проверю это.
Другие советы
AFAIK, Ruby Version Manager (RVM) больше ориентирован на упрощение работы с несколькими версиями Ruby (1.8.6, 1.8.7, 1.9.1, MRI, JRuby и т.д. И т.п.) На одном компьютере.Поскольку многие драгоценные камни включают в себя зависящие от версии и / или скомпилированные элементы, для использования в этих версиях Ruby могут потребоваться разные версии драгоценных камней.RVM позволяет вам переключать среду Ruby, но в этой среде вы бы [sudo] gem install
то же, что и всегда.