Como criar um GEM_HOME para rvm?

3

Estou aprendendo como configurar versões diferentes do ruby com versões diferentes de rails usando o rvm. Aqui está um link para as instruções link . Diz

Let's say, for example, that you are testing two versions of a gem, with ruby 1.9.2-head. You can install one to the default 1.9.2-head, then create a named gemset for the other version, and switch between them easily. Example: testing gems

$ rvm 1.9.2-head@testing

will use a '1.9.2-head@testing' GEM_HOME (be sure to create it

first), whereas:

Eu já criei

rvm install 1.8.7-head
rvm install 1.9.2

mas como faço para criar este rvm 1.9.2-head@testing.

Há algo que não entendo sobre as instruções ... Por favor, esclareça se puder.

Felicidades

    
por Michael 27.09.2011 / 22:30

1 resposta

7

O que é um Gemset?

I have already created

rvm install 1.8.7-head
rvm install 1.9.2

Com isso, você instalou dois Rubies (não Gemsets), ou seja, versões 1.8.7 e 1.9.2. Estas são (simplesmente falando) apenas duas versões do interpretador / linguagem Ruby.

Agora, cada versão do Ruby tem normalmente algumas Gemas instaladas (sendo o Rails uma delas). Pense nisso como um plug-in. No caso normal, você só tem um conjunto de plugins para o Ruby no seu sistema. Com o RVM, no entanto, você pode configurá-lo para usar vários "Gemsets" por versão do Ruby. Assim, você pode usar várias versões do Ruby (por exemplo, Ruby 1.8.7 e 1.9.2) e cada uma delas usa Gemsets diferentes.

No seu caso, talvez você queira ter dois Gemsets para cada uma das suas versões:

AlémdosGemsetsquevocêcria,cadaRubytambémpossuiGemsets"padrão". Este é o que você recebe quando não fornece nenhum nome Gemset durante a troca. Todos eles compartilham um Gemset "global" também.

Como você cria um Gemset?

Como você cria um Gemset de "testes"?

Como de acordo com o manual , primeiro, mude para a versão em Ruby que você deseja usar:

rvm 1.9.2

… e depois crie o Gemset, no seu caso "testando". A parte sobre GEM_HOME , bem, esqueça. O manual não menciona como criá-lo. Você precisa ler um pouco mais abaixo no exemplo:

rvm gemset create testing

Agora o seu Ruby 1.9.2 terá um Gemset chamado "testing", que você pode mudar para

rvm 1.9.2@testing

Agora, qualquer Gem que você instalar com gem install residirá neste Gemset específico. Se você criar outro Gemset (usando rvm gemset create ) e mudar para isso, o Gem instalado anteriormente não estará disponível, já que você está trabalhando em outro Gemset agora.

    
por 27.09.2011 / 23:34

Tags