2009-12-30 10 views

Répondre

4

Ceci a été résolu dans les versions 0.1.39 et ultérieures de RVM. Le comportement maintenant sources uniquement le fichier .rvmrc lorsque vous entrez une arborescence de répertoires de projets pour la première fois. Les CD subséquents dans cette arborescence ne génèrent pas le fichier .rvmrc. Si vous vous trouvez constamment dans et hors de votre arborescence de projets, je vous recommande d'utiliser plusieurs terminaux :)

Un avantage supplémentaire est que vous pouvez maintenant mettre plus de temps à faire des actions, comme assurer toutes vos pierres dans vos gemset sont à jour, en .rvmrc pour garder votre projet actuel sans vous coûter du temps chaque fois que vous cd.

Pour obtenir la dernière version de RVM, exécutez: mise à jour de RVM --head

Une fois qui est installé, tous les nouveaux obus auront le meilleur comportement - des coquillages existants que vous ne voulez pas fermer , vous pouvez exécuter 'rvm reload' pour fournir le nouveau comportement.

Cheers, -Dennis

2

Cela se produit car il source un fichier qui intercepte l'opération cd.

prompt:$ cat ~/.rvm/scripts/cd 
#!/usr/bin/env bash 

# Source a .rvmrc file in a directory after changing to it, if it exists. 
cd() { 
    builtin cd "[email protected]" 
    if [[ "$rvm_project_rvmrc" != 0 ]] ; then 
    local cwd ; cwd=$(pwd) 
    while : ; do 
     if [[ -z "$cwd" ]] || [[ "$HOME" = "$cwd" ]] || [[ "/" = "$cwd" ]] ; then 
     if [[ "$rvm_project_rvmrc_default" != 0 ]] ; then 
      rvm default 1>/dev/null 2>&1 
     fi 
     break 
     else 
     if [[ -f "$cwd/.rvmrc" ]] ; then 
      source "$cwd/.rvmrc" 
      break 
     else 
      cwd=$(dirname "$cwd") 
     fi 
     fi 
    done 
    fi 
} 

Ce fichier vérifie la présence d'un fichier .rvmrc dans le répertoire que vous modifiez et configure un environnement. De cette façon vous pouvez avoir le répertoire A exécuté sous ruby ​​1.8 et le répertoire B sous ruby ​​1.9.

Si vous êtes heureux de faire disparaître cette commodité, vous pouvez commenter ce fichier et faire avec la commutation de répertoire lente.

Vous pouvez également ajouter un correctif qui effectue une mise en cache, c'est donc rapide.

+0

Cela peut être à jour, laissant ici comme référence –