2010-08-20 14 views
14

Come si aggiornano i rubygems sotto rvm quando ree è il proprio vm predefinito (su Snow Leopard)? Io sto facendo:Come si aggiornano i rubygems usando rvm e ree?

$ rvm ree gem update --system 

Questo si traduce in cose che assomigliano tutto è andato bene:

Updating RubyGems 
Updating rubygems-update 
Successfully installed rubygems-update-1.3.7 
Updating RubyGems to 1.3.7 
Installing RubyGems 1.3.7 
RubyGems 1.3.7 installed 

[...] 

RubyGems installed the following executables: 
     /Users/douglassellers/.rvm/rubies/ree-1.8.7-2010.02/bin/gem 

ma quando ho eseguito gemma --version si dice ancora 1.3.5. Fare una gemma che punta alla versione ree della gemma.

Qualcuno sa come ottenere RubyGems per aggiornare con RVM?

+3

ti è verificare che ree è l'attuale rubino rvm selezionato? per esempio. 'rvm usa ree' quindi' gem --version'. So che può sembrare stupido, ma un errore ho incontrato prima :-( – Brian

+0

ho verificato questo. La cosa più strana è che le gemme del rubino sembra pensare che sta aggiornando il file corretto. Dice l'aggiornamento ~/.rvm/rubini /ree-1.8.7-2010.02/bin/gem e quando faccio "quale gemma" punta a ~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem. Quindi ci deve essere un'altra versione di gemma nel percorso richiesto? Non riesco a vederne uno però. –

risposta

17

Il problema, a mio avviso, è il comando iniziale (o quello che ci si aspetta che il comando di fare):

$ rvm ree gem update --system 

che racconta rvm per passare il gem update --system al gem sotto ree, ma non è così passa a quel particolare interprete Ruby. Continui a utilizzare qualsiasi interprete che hai impostato in quella shell (sia per impostazione predefinita sia perché sei passato manualmente in precedenza nella sessione della shell).

A titolo di esempio, il mio interprete predefinito è di Ruby 1.9.2. Se passo questo comando: rvm 1.9.1 gem install pony, la gemma Pony viene installata per Ruby 1.9.1. Tuttavia, sono utilizzando ancora Ruby 1.9.2 dopo che l'installazione è terminata. Se inserisco irb e provo require 'pony', ottengo un errore di caricamento. Se corro rvm 1.9.1 e quindi inserisci irb, Pony è installato e carica bene.

Quindi, come dice Brian nel suo commento al tuo post, si potrebbe passare manualmente con rvm use ree. In alternativa, è possibile passare il comando iniziale a questo:

$ rvm ree 
$ gem update --system 
$ gem --version 
+0

Questo produce gli stessi risultati della domanda originale. Tutto dice che si sta aggiornando, e gem dice che ha aggiornato il file corretto ma quando si esegue gem --version dice ancora la versione precedente Quando eseguo "which gem" punta allo stesso file che rubygems ha appena segnalato che è stato aggiornato. –

+0

prega di notare che 'rvm gem ...' è stato rimosso, provare 'aggiornamento gemma --system' o' rvm tutti fanno aggiornamento gemma --system' invece. (vedi: ['utilizzo rvm'] (http://rvm.io/rvm/cli)) – GOD

1

È un problema insolito. Se non è ancora risolto, è consigliabile utilizzare

rvm --default use ree 
which ruby 
which gem 

questo dovrebbe mostrare se siete nella versione destra.
installa gemme usando rvm o direttamente.

2

rvm mi ha suggerito di utilizzare smth come questo:

rvm [email protected] do gem update --system 
Problemi correlati