Ruby Version Manager ci consente di utilizzare un file .rvmrc
in ogni progetto per impostare la versione di ruby e il set di gemme da caricare. Questo file dovrebbe essere archiviato al controllo del codice sorgente? O questo presume troppo sull'ambiente di lavoro degli altri sviluppatori?Accedete al vostro file rvmrc?
risposta
Source Control Management è principalmente circa riproducibilità: sei in grado di riprodurre una versione di uno sforzo di sviluppo basato su ciò che hai memorizzato nel tuo SCM?
Se il file .rvmrc
è necessario per consentire a qualsiasi sviluppatore del progetto di essere in grado di lavorare (con le risorse utente corrette), quindi sì, è necessario eseguirne la versione.
Come menzionato in RVM Best Practices:
No. 2 - Controllare il rvmrc nel controllo del codice sorgente.
Selezionando la rvmrc citato in controllo del codice sorgente a fianco la vostra applicazione, il gioco è garantire a tutti gli utenti dispongono di un ambiente coerente quando si sta utilizzando rvm.
Automatizzando anche le installazioni gemset e simili (ad esempio, controlla il file rvmrc nel repository del sito rvm o il rvmrc del repostory TEDxPerth), inoltre, puoi iniziare con la semplice modifica della directory.
Oltre a questo, è anche possibile effettuare automaticamente le installazioni in modo da configurare l'ambiente specifico dell'applicazione.
Altri sviluppatori possono trasformare di uso di gemsets sul loro RVM con:
echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc
Questo li renderà usano GemSET predefinita sempre.
In realtà vorrei sconsigliare di mantenere .rvmrc
in SCM. Due ragioni specifiche:
Se si utilizza gemsets a far valere altri sviluppatori di utilizzare lo stesso GemSET (mentre alcuni potrebbero preferire di avere tutte le loro gemme nel GemSET globale).
È difficile per gli altri sviluppatori eseguire il progetto su una diversa versione di Ruby. Certo, in produzione potrebbe essere eseguito su
1.9.2-p290
, ma perché non dovrei essere autorizzato a eseguire l'app localmente su1.9.3-p0
?
Generalmente si fa rispettare troppo su ogni sviluppatore (stessa storia come database.yml
, che pure non dovrebbe essere tenuto in SCM). Una nota nel README del progetto della versione Ruby "production running" è abbastanza imo.
Penso che dipenda anche dal progetto.Ho una situazione in cui gli sviluppatori eseguono diverse versioni in rubino dello stesso progetto (piattaforme diverse, requisiti) dalla produzione alla progettazione. I nostri * test * ci dicono che tutto funziona correttamente. La libertà di cambiare i rubini ci consente di diagnosticare problemi specifici della versione e di eseguire benchmark. – foz
- 1. Come rendere capistrano scrivere un file .rvmrc durante la distribuzione?
- 2. Come creare un file rvmrc nella cartella principale del progetto?
- 3. Come documentate il vostro JavaScript?
- 4. vostro WSGIPath fa riferimento a un file che non esiste
- 5. Dependency Injection nel vostro Singleton
- 6. rvm continua a ignorare il mio .rvmrc
- 7. Plagiando un campione del vostro database - Postgresql
- 8. RVM: Autorizzazione negata durante il caricamento GemSET da file .rvmrc a livello di sistema-install
- 9. Utilizzare il file di versione rvmrc o ruby per impostare un gemset di progetto con RVM?
- 10. .Net Logger (Scrivete il vostro log4net/logger/nlog ecc.)
- 11. Come ignorate/persistono i valori in MVC quando il vostro modello di visualizzazione non ha tanti campi quanti il vostro modello di dominio?
- 12. Non riesco a ottenere rvm per leggere il mio progetto specifico .rvmrc
- 13. Windows: stabilisce l'associazione file al file batch
- 14. Conversione dal file SVG al file XML
- 15. invia un file al client
- 16. Python Scrivi byte al file
- 17. percorso relativo al file CSS
- 18. JsonCpp scrittura al file JSON
- 19. swift, invia file al server
- 20. log4j fermato accedendo al file,
- 21. Invia output maven al file
- 22. python, scrivendo Json al file
- 23. accesso al file sbirciare avanti
- 24. Come reindirizzare Boost.Log al file
- 25. AVSpeechSynthesizer enunciato al file audio
- 26. Accesso al dispositivo su file
- 27. Accelerazione dell'accesso al file system?
- 28. Oggetto grafico al file immagine
- 29. Interfaccia Cocoa al file GEDCOM
- 30. Come risolvere perdita di spazio causata dalla pigrizia, quando il vostro algoritmo si basa su pigrizia
punto interessante. Tengo il mio rvmrc nella mia home directory, dovrò considerare di fare altrimenti. –
Questo non costringe altri sviluppatori del tuo team a utilizzare un gemset con lo stesso nome del creatore .rvmrc? – ybakos
In genere non includo un gemset in rvmrc se il progetto utilizza bundler. Se non usa bundler, dagli un nome gemset che corrisponde al progetto con un flag --create in modo che venga creato automaticamente. –