2009-12-30 2 views

답변

4

이 문제는 0.1.39 이상의 RVM 버전에서 해결되었습니다. 처음에는 프로젝트 디렉터리 트리를 입력 할 때 동작이 .rvmrc 파일 만 제공합니다. 해당 디렉토리 트리 내의 후속 cd는 .rvmrc 파일의 소스가 아닙니다. 프로젝트 디렉토리 트리에서 계속해서 뛰어 오르는 경우 여러 개의 터미널을 사용하는 것이 좋습니다.

이렇게하면 편익을 얻을 수 있습니다. 예를 들어, 모든 보석을 gemset은 .rvmrc에서 최신 상태로 유지되므로 프로젝트를 진행할 때마다 cd 할 때마다 시간을 낭비하지 않아도됩니다.

는 RVM의 최신 버전을 다운로드하려면 다음을 실행 : RVM 업데이트

을 --head 그가 설치되면, 모든 새로운 쉘이 개선 된 행동을해야합니다 - 당신이 종료하지 않으려는 껍질을 기존의 , 'rvm reload'를 실행하여 새로운 동작을 제공 할 수 있습니다.

건배, -Dennis는

2

이 작업은 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 
} 

이 파일은 변경하려는 디렉토리에서 .rvmrc 파일을 확인하고 환경을 설정합니다. 그렇게하면 루비 1.8 이하에서 dir A를 실행할 수 있고 루비 1.9에서는 dir B를 실행할 수 있습니다.

이 편의성을 없애기를 원한다면이 파일을 주석 처리하고 느린 디렉토리 전환을 수행 할 수 있습니다.

또는 빠른 캐싱을 수행하는 패치를 제공 할 수도 있습니다.

+0

이 참고로 여기에두고, 유효 기간이있을 수 있습니다 –

관련 문제