Utilizzare il file di versione rvmrc o ruby ​​per impostare un gemset di progetto con RVM?

Uso RVM, Ruby Version Manager per specificare una versione Ruby e un set di gemme per ciascuno dei miei progetti Rails.

Ho un file .rvmrc per selezionare automaticamente una versione di Ruby e gemset ogni volta che effettuo il cd in una directory di progetto.

Dopo aver installato RVM 1.19.0, ricevo un messaggio

Stai usando .rvmrc , richiede fiducia, è più lento e non è compatibile con altri ruby ​​manager, puoi passare a .ruby-version usando rvm rvmrc to [.]ruby-version o ignorare questo avviso con rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc , .rvmrc continuerà ad essere il file di progetto predefinito in RVM 1 e RVM 2, per ignorare l’avviso per tutti i file che eseguono rvm rvmrc warning ignore all.rvmrcs .

Devo continuare a utilizzare il mio file .rvmrc o devo passare a un file di .ruby-version ? Quale è ottimale? Quali sono le ramificazioni?

Se il tuo file .rvmrc contiene codice shell personalizzato, continua a utilizzare .rvmrc quanto ti consente di includere qualsiasi codice shell.

Se il tuo unico scopo è cambiare le versioni di Ruby, usa la .ruby-version che è supportata da altri switcher della versione di Ruby come rbenv o chruby . Questo file non richiede anche il trust poiché è solo il nome di una versione di Ruby e non verrà eseguito in alcun modo.

Se usi .ruby-version puoi includere @gemset nel file ma questo non sarà compatibile con altri switcher. Per mantenere la compatibilità usa il nome gemset in un file separato .ruby-gemset che viene ignorato da altri strumenti (funziona solo insieme con .ruby-version ) .

Ad esempio, se hai un semplice .rvmrc :

 rvm use [email protected] 

Può essere trasformato in .ruby-version :

 1.9.3 

E .ruby-gemset :

 my-app 

Assicurati di rimuovere il file .rvmrc poiché ha la precedenza su qualsiasi altro file di configurazione del progetto:

 rm .rvmrc 

Modo semplice e veloce per passare da .rvmrc a .ruby-version + .ruby-gemset

 rvm rvmrc to .ruby-version 

Se vuoi creare il file .ruby-version e .ruby-gemset in un modo breve puoi usare i comandi in questo modo:

 rvm use [email protected] --create rvm --create --ruby-version [email protected] 

Puoi provare entrambi. Vai alla radice del tuo progetto, crea un file .rvmrc ( touch .rvmrc ), quindi modifica rvm use [email protected]_gemset (la tua versione ruby ​​e il tuo nome gemset). Dopo aver salvato questo file, puoi digitare questo comando:

cd ../your_project (sei nella directory your_project ), e lo script in .rvmrc verrà eseguito.

L’RVM consiglia di utilizzare la versione di ruby. È ansible eseguire questo comando per passare da .rvmrc a .ruby-version

rvm rvmrc to .ruby-version

Quello che fa è creare 2 nomi di file .ruby-version e .ruby-gemset e aggiungere questa riga

ruby-2.0.0-p451 in .ruby-version

your_gemset in .ruby-gemset

Puoi provare a farlo manualmente se vuoi 🙂

Installa rvm usando:

 \curl -sSL https://get.rvm.io | bash -s stable --rails 

Installa diverse versioni di rubini:

 rvm install 1.8.7 rvm install 1.9.2 

Passa alla versione specifica del ruby. Ad esempio, 1.8.7:

 rvm use 1.8.7 

Per creare un gioiello:

 rvm gemset create project_gemset 

E per usare un gemset:

 rvm gemset use project_gemset