Onde você deve instalar pedras preciosas para com Rubygems para o desenvolvimento?
Pergunta
Se você não instalar gemas com sudo
em um Mac, por padrão, eles serão colocados em um diretório como
.gem/ruby/1.8/gems/
Se você instalar por com sudo
, meu entendimento é que eles são normalmente colocados nos diretórios do sistema, assim:
/usr/local/lib/ruby/gems/1.8/gems/
Há uma boa razão pela qual você deve instalar gemas com sudo
em vez disso, diferente de simplesmente deixar que os outros compartilhá-los com você? *
Estou sob a impressão de que você sudo instalar gems, porque se você como usuário bob instalar as gemas dentro bob 's diretório, em seguida, um usuário como www -data (usado por passageiros / Apache no Ubuntu Linux quando servindo arquivos), para usá-los - esta é a única razão que você iria usá-los como este
?Ou é a melhor prática agora usar algo como Rubi Versão Gestor vez agora?
Eu realmente aprecio ouvir de alguns desenvolvedores Ruby mais experientes sobre onde você armazenar seus e porquê.
Solução
Running gem install com meios sudo você está executando a instalação como um usuário administrador e como tal irá instalá-lo para todo o sistema. Se executar como um usuário normal, ele vai apenas colocar as pedras em seu diretório pessoal.
Para a sua máquina de desenvolvimento ou servidor, /usr/local/lib/ruby/gems/1.8/gems/ é quase certamente o lugar certo para colocar pedras preciosas. Se você estiver em algum tipo de hospedagem ou brincar com versões de desenvolvimento de algumas jóias, por todos os meios compartilhados, mantê-los em seu diretório home para que você não sobrecarregar o sistema para outros usuários.
Eu não ouvi do Ruby Versão Manager antes. Eu vou dar uma olhada.
Outras dicas
AFAIK, Ruby Versão Manager (RVM) é direcionado mais a torná-lo simples para trabalhar com várias versões Ruby (1.8.6, 1.8.7, 1.9.1, ressonância magnética, JRuby, etc etc) na mesma máquina. Uma vez que muitas gemas incluem específico da versão e / ou elementos compilados, diferentes versões gema pode ser necessária para o uso dentro dessas versões Ruby. RVM permite alternar ambiente Rubi mas dentro desse ambiente que você [sudo] gem install
o mesmo de sempre.