Non è necessario impostare alcun ambiente. Tutto ciò di cui hai bisogno è il percorso verso il binario rubino che vuoi eseguire e tutto il resto seguirà.
Ecco un esempio di come si può impostare in su:
Creare una cartella ~/bin
. Ciò manterrà dei puntatori (collegamenti simbolici) a tutti i tuoi binari ruby personali.
Aggiorna la shell PATH
in modo che ~/bin
sia incluso nel percorso di ricerca per i file eseguibili.
Collegare in modo sintetico qualsiasi binario rubino necessario nel numero ~/bin
all'effettivo codice rubino.
Per esempio nel mio ~/bin
ho:
ruby18 -> /opt/ruby18/bin/ruby
ruby19 -> /opt/ruby19/bin/ruby
ruby20 -> /opt/ruby20/bin/ruby
Ora diciamo che dispone di uno script che ha bisogno di 1.9 per funzionare. Poi tutto quello che dovete fare è:
#!/usr/bin/env ruby19
Ciò funzionerà se è stato installato il vostro gemme nella directory predefinita per ogni gemma eseguibile rubino. Se hai installato gems da qualche altra parte, diventa più complicato e dovresti modificare GEM_PATH
prima di eseguire lo script.
Se non si desidera ottenere fantasia con ~/bin
poi basta codificare la linea shebang, invece di puntare direttamente al binario ruby:
#!/opt/ruby19/bin/ruby
... o il percorso rbenv/rvm equivalente.
La presenza di collegamenti simbolici nello ~/bin
consente tuttavia di aggiornare più facilmente i puntatori del bin se si suppone di compilare una nuova patch di Ruby 1.9 e di collocarla in un'altra cartella come /opt/ruby19-p123
. Quindi è sufficiente aggiornare il collegamento simbolico in ~/bin
e tutti gli script eseguiranno la nuova versione con patch.
come fai a sapere quale rubino è necessario per ogni script? Sembra che tu abbia un problema di ricerca o un problema di organizzazione dei file da risolvere qui. –