Где вы должны установить гемы с Rubygems для разработки? - PullRequest
0 голосов
/ 23 октября 2009

Если вы не устанавливаете гемы с sudo на Mac, по умолчанию они будут помещены в каталог, такой как

.gem/ruby/1.8/gems/

Если вы делаете установку с помощью sudo, я понимаю, что они обычно помещаются в системные каталоги, например:

 /usr/local/lib/ruby/gems/1.8/gems/

Есть ли веская причина, по которой вы должны вместо этого устанавливать гемы с sudo, а не просто позволять другим делиться ими с вами? *

У меня сложилось впечатление, что вы бы могли установить gems, потому что если вы как пользователь bob устанавливаете gems внутри каталога bob , то пользователь, как www-data (используется Passenger / Apache в Ubuntu Linux при обслуживании файлов), чтобы использовать их - это единственная причина, по которой вы будете использовать их вот так?

Или лучше сейчас использовать что-то вроде Ruby Version Manager вместо этого сейчас?

Я бы очень хотел услышать от более опытных разработчиков ruby ​​о том, где вы храните свои и почему.

Ответы [ 2 ]

1 голос
/ 23 октября 2009

Запуск gem install с помощью sudo означает, что вы запускаете установку как пользователь с правами администратора и устанавливаете ее для всей системы. Если вы работаете как обычный пользователь, он просто поместит драгоценные камни в ваш домашний каталог.

Для вашей машины или сервера разработки /usr/local/lib/ruby/gems/1.8/gems/ почти наверняка является подходящим местом для размещения гемов. Если вы пользуетесь каким-то общим хостингом или играете с версиями разработки некоторых гемов, обязательно храните их в своем домашнем каталоге, чтобы не загромождать систему для других пользователей.

Раньше я не слышал о Ruby Version Manager. Я проверю это.

0 голосов
/ 23 октября 2009

AFAIK, Ruby Version Manager (RVM) больше ориентирован на то, чтобы упростить работу с несколькими версиями Ruby (1.8.6, 1.8.7, 1.9.1, MRI, JRuby и т. Д.) На одном компьютере. Поскольку многие гемы включают в себя специфичные для версии и / или скомпилированные элементы, для использования в этих версиях Ruby могут потребоваться разные версии гемов. RVM позволяет вам переключать среду Ruby, но в этой среде вы будете [sudo] gem install такой же, как всегда.

...