TL; DR : 명령을 다시 설치하거나 실행하여 RVM이 1.26.11 이상 rvm get head
이고 터미널 환경 당 한 번 씩만 초기화 되는지 확인하십시오 .
결과
결국 나는 환경을 고칠 수있었습니다. 다른 사람들은 증상이 같지만 근본 원인이 다른 경우에도 도움을주기 위해 특정 문제와 관련된 정보를 게시 할 것입니다.
원인
루트 문제의 한 부분은 RVM에서 왔으며 명령 줄 환경에서 초기화되는 방법입니다. 특히 fish
셸 환경을 위해 특별히 제작 된 방법이 하나 있기 때문에 몇 가지 방법으로이 작업을 수행했습니다 .
근본 원인은 다음 중 하나 인 것 같습니다.
- 터미널 구성 파일 당 하나씩 여러 명령문이 있고 연결 방법으로 인해 RVM을 두 번 이상 초기화하는 경우 자동으로 추가 된 다른 항목을 알지 못했습니다.
- 또는 어떤 터미널 환경에 대한 초기화를 혼합하고
fish
다른 터미널 환경에서 실행 중이 bash
거나 그 반대의 문장이 추가되었습니다 . 이 깨진 곳 아래에있는 내 세부 사항에서 볼 수있는 bash
PATH에 의해 구분 된 경로의 일부가 :
잘못된 구문 인 공백들,하지만 다른 사람도 포함 bash
하지만, 대한 올바른 fish
.
- 아니면 둘 다 일어나고있었습니다!
그런 다음 루트 문제의 다른 부분은 RVM / direnv 관련 버그가 최근 트랩 기능과 관련하여 생성 된 것 같습니다. 아마도 다음과 같은 원인이 될 수있는 다른 문제가있는 RVM 릴리스 중 하나를 사용하여이 문제가 다시 발생했을 수 있습니다.
- 다시 설치 :
curl -sSL https://get.rvm.io | bash
- 수동 업데이트 :
rvm get head
- 에 추가
rvm_autoupdate_flag=2
하여 자동 업데이트 (방금 수행 한)~/.rvmrc
이 문제는 2016 년 3 월 30 일 또는 릴리스 1.26.11에서 수정되어야합니다.
이야기
파일 시스템을 완전히 검색하고 파일 내용을 엿보기 위해 GNU 유틸리티와 싸우고 난 후, Atom을 사용하여 더 많은 성공을 거두었 으며 Zanchey가 언급 한 파일 shell_session_update
에서 /etc/bashrc_Apple_Terminal
히스토리 파일 외에 유일한 발견이 발견되었습니다. 등). 그게 내가하여 ITerm (2)를 사용했기 때문에 실행중인 이유 또한없는 확신, 그리고 값 $TERM_PROGRAM
이 경우에는 iTerm.app
하지 Apple_Terminal
.
또한 어떤 이유로 든 설치 프로세스를 통해 RVM 설치를 두 번 이상 관리해야한다는 사실을 알지 못했습니다. 설치 프로세스를 통해 이미 여러 '도트 파일'에 구성을 추가하는 것으로 나타났습니다. 여기서 일부 또는 줄을 수동으로 추가했습니다. .
그와 함께 필자는 기본적으로 존재하지 않았기 때문에 .bashrc
파일 을 만들어 .bash_profile
내 Mac 에서 파일로 연결했습니다 . 이전에는 Linux 시스템 .bash_profile
에서 일부 사용자 정의에 적합하고 .bashrc
사용자 별명 및 기능 정의와 같은 다른 시스템에 적합하거나 그 반대로도 읽었습니다 . 그래서 .bash_profile
파일, 특히 .profile
파일이 아닌 모든 파일을 사용자 디렉토리에서 보는 데 익숙 하지 않았습니다 . 또한 a path_helper
가 mix (!)에 있다는 것을 잊지 말고 문제에 기여하지 않는 것 같습니다.
환경을 설정하는 올바른 방법은 다음과 같습니다.
자세한 내용은
좀 더 놀라운 정보를 얻으려면 다음은 문제를 디버깅하는 동안 다른 환경에서 캡처 한 몇 가지 경로입니다.
오리지널 (깨진) 생선 PATH
/Users/username/.rvm/gems/ruby-2.0.0-p648/bin /Users/username/.rvm/gems/ruby-2.0.0-p648@global/bin /Users/username/.rvm/rubies/ 루비 -2.0.0-p648 / bin /Users/username/.rvm/bin / usr / local / bin / usr / bin / bin / usr / sbin / sbin / usr / local / munki /Users/username/.rvm/ 큰 상자
'자연스럽게'더 나은 물고기 경로
/ usr / local / opt / coreutils / libexec / gnubin / usr / local / opt / findutils / bin / usr / local / bin / usr / bin / bin / usr / sbin / sbin / usr / local / munki
원래 (깨진) bash PATH
/libexec/gnubin:/bin:/Users/username/.rvm/gems/ruby-2.0.0-p648/bin /Users/username/.rvm/gems/ruby-2.0.0-p648@global/bin / Users /username/.rvm/rubies/ruby-2.0.0-p648/bin /Users/username/.rvm/bin / usr / local / bin / usr / bin / bin / usr / sbin / sbin / usr / local / munki : / 사용자 / 사용자 이름 /.rvm/bin
'수동으로'고정 된 bash PATH
/libexec/gnubin:/bin:/Users/username/.rvm/gems/ruby-2.0.0-p648/bin:/Users/username/.rvm/gems/ruby-2.0.0-p648@global/bin : / Users / 사용자 이름 /.rvm/rubies/ruby-2.0.0-p648/bin:/Users/ 사용자 이름 /.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin : /sbin:/usr/local/munki:/Users/username/.rvm/bin:/Users/username/.rvm/bin
'자연스럽게'더 나은 bash 경로
/ usr / local / opt / coreutils / libexec / gnubin : / usr / local / opt / findutils / bin : / usr / local / opt / coreutils / libexec / gnubin : / usr / local / opt / findutils / bin : / usr / local / bin : / usr / bin : / bin : / usr / sbin : / sbin : / usr / local / munki
노트:
- '원본'은 문제를 겪으면서 명령 줄 인터프리터에서 새로운 환경을 시작한 것입니다.
- '수동'은 물론 잘못된 경로 문자열을 가져 와서 구문 오류를 수정하고 해석기의보다 적절한 작동을 보았으므로 근본 원인을 계속 고칠 때 무엇을 기대 해야하는지 알았습니다.
- '자연스러운 것'은 터미널 환경 구성 파일 등을 처음으로 건너 뛰고 처음
.bashrc
에는 문제가 해결 된 후에 실행되었습니다.
shell_session_update
에서 OS X에 의해 설치된 Bash 함수/etc/bashrc_Apple_Terminal
이므로, RVM이 실행하는 Bash 명령에서 출력으로 생성되는 것 같습니다.