2013-03-10 12 views
23

Ho appena installato Ruby 2.0.0 usando rbenv e lo ho impostato sulla versione globale di ruby ​​per il mio sistema. Dal momento che 2.0 è compatibile con 1.9.3, ho provato ad avviare un progetto Rails con esso, ma ho ottenuto il seguente errore. Ho fatto rbenv rehash dopo l'installazione di 2,0reinstallare ogni gemma per ogni versione di rubino?

The `rails' command exists in these Ruby versions: 
    1.9.3-p327 

Questo significa che ogni gemma ho installato sul mio sistema con 1.9.3 deve essere reinstallato se voglio usarlo con 2.0?

+0

In linea di principio sì, ma sarei interessato a sapere se c'è un'alternativa a questo che ci consente di mantenere le nostre gemme installate. –

risposta

17

Sì. Rbenv (e RVM) hanno directory "gem home" separate per ogni versione installata di Ruby. Potrebbero esserci modi per collegare simbolicamente determinate directory per farle condividere, ma questo probabilmente causerà problemi, in particolare con gemme che includono estensioni C native, che potrebbero o meno compilare ed eseguire in modo pulito in più versioni.

Se si dispone di un Gemfile, la cosa più semplice è solo bundle install di nuovo per Ruby 2.0, che fornisce copie duplicate di molte gemme e versioni compilate da Ruby-2.0 di qualsiasi gemma nativa.

48

Come visto here:

è necessario reinstallare fardellatrice per ogni versione di Ruby che si usa. Vedere le versioni di Ruby in cui è stato installato:

rbenv whence bundle 

vedere la versione corrente:

rbenv version 

Installare fardellatrice per quella versione, se mancante:

gem install bundler 
+0

Bel guasto. –

Problemi correlati