2012-05-15 2 views
1

참고 : 내 환경 (아래 세부 정보)에서이 문제를 수정/해킹했으나 &이 다른 사람에게 발생하는 경우 어떤 일이 발생했는지 알고 싶습니다. 바라기를이 스택의 OK 사용입니다. :)RVM/Bundler 통합으로 인해 RVM이 터미널 로딩되지 않았습니까?

저는 Michael Hartl의 Ruby on Rails 튜토리얼 (제 2 판)을 검토 중이며 오늘 첫 번째 주요 걸림돌을 쳤습니다.

$ rvm get head && rvm reload 
$ chmod +x $rvm_path/hooks/after_cd_bundler 
$ cd /path/to/project 
$ bundle install --binstubs=./bundler_stubs 
:

3 장, section 3.6.1 "Eliminating Bundle Exec"에서

, 나는 내가 너무 자주 번들 간부를 입력 중지 할 수 있도록 모든 프로젝트에 대한 내 길을 '조정'으로 (RVM) 루비 버전 관리자를 얻기 위해이 명령을 실행

.. 그리고 실로! 번들, rvm 또는 다른 많은 공통 기능을 실행할 수 없습니다. (필자는 여전히 레일스에 익숙하지 않으므로 이러한 명령이 어떤 관계 또는 원본을 공유하는지 알지 못합니다.) Windows에서 왔기 때문에 전체 재부팅을했는데, 그때는 펑키 한 일을 할 때하는 일 뿐이었지만 문제는 계속되었습니다! 알았어!

-bash : RVM :

오류가 번들, RVM 등의 동일

을 발견 명령하지 (참고 : 또한이시기에, 나는 엑스 코드를 수정 -를 선택 스위치 ' 다른 이상에/개발자, 미쳤 경로에서 - 당신이이 역할을 할 수있는 생각하는 경우 this link for details 참조)

좀 보게했다 g, 그리고 그것이 중요한 경우이, 그래서 여기 내 ENV의 $ PATH에입니다, 내 $ 패스와 함께 할 수있는 뭔가가있을 수 있음을 발견

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin 

경로가 잘못된 듯 - 일부 RVM 물건이있을했는데 거기에, 또는 거기에 일부 bundler 물건 - 그 변화의 요점이었다! - 좀 더 파고 들었고, 파일 시스템이 여전히 손상되지 않았고 (RVM이 여전히 설치되어 있고, Gemfile이 여전히 정확하다는 등), 아직 터미널 세션에서 루비 버전이 오래되었다는 것을 발견했습니다 (v1.8.7). Rails가 설치되지 않았기 때문에 세션 또는 RVM 관련 문제와 유사 해 보였습니다.

내가 수동 터미널 (~/.bash_login이에서) 다음 명령을 실행 한 경우, 모든 일을 몇 가지 더 파고나요 발견 :

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

YES!

& 터미널을 다시 열면 문제가 반환되었지만 위의 명령을 다시 실행하면 문제가 다시 해결되었습니다. 그래서 분명히 이것은 터미널에 올바르게로드되지 않는 문제 일뿐입니다. 맞습니까?

나는의 (프롬프트 stylings가 아닌 다른 비어있는) ~/.bash_profile에
위의 명령을 이동하고, 문제가 완전히 나를 위해 고정됩니다. 나는 & 터미널을 다시 닫을 수 있으며, 나는 경주를 떠납니다.

무엇이 발생 했습니까?! 그 명령이 ~/.bash_login ~/.bash_profile 대신 인 이유는 무엇입니까? 나는 다른 사람들이 방금 전의 2 시간짜리 Google 검색 모험을 피할 수 있도록 더 적은 n00bly &을 얻도록하기 위해 무슨 일이 벌어지고 있는지 이해하고 싶습니다. :)

고마워요!

환경 : 다른 실행됩니다

  • 맥 OS X 10.7.4 (사자)
  • 터미널 (내장)
  • 숭고한 텍스트 2

답변

0

파일 중 하나를 선택하고 두 번째 파일에 병합하십시오.

RVM은 두 파일을 모두 검사하므로 RVM로드가 포함되어 있으면 충분합니다.

가 내 보석 젬-들러을 사용할 수 있습니다 bundle exec을 제거하기 위해서는 다음이 필요합니다 1.3 그래서 더 이상 추가 도구/스크립트/트릭을 들러 없습니다 통합됩니다.

+0

감사합니다 mpapis -하지만 내 질문에 대한 자세한 내용은 다음 명령을 내 환경 (이를 해결하는 방법이 아니라)에 대한 자세한 내용입니다 : $ rvm get head && rvm reload $ chmod + x $ rvm_path/hooks/after_cd_bundler $ cd/path/to/project $ bundle install --binstubs = ./bundler_stubs – toblerpwn

+0

첫 번째 문장을 확인하고 로그인 파일을 병합해야합니다. – mpapis

+0

내 명령을 실행하기 전에 왜 작동 했나요? 이전 댓글? 왜 이러한 변화가 내 환경을 실패하게 만들었습니까? RVM이 내 ~/.bash_profile과 다른 관련 파일들을 두 경우 모두 동일하게 밟지 않아야합니까? 나는이 질문이 순전히 학문적다는 것을 깨닫는다 - 그러나 저를위한 점은 지금 당장이다. :) – toblerpwn

0

음, 로그인 스크립트 타임스. 이 so question에서 일부 세부 정보를 볼 수 있습니다. 그러나 this에 따르면 ~/.bash_login~./bash_profile의 별칭입니다. 그래서 나는 왜 다른 사람이 당신을 위해서 달리는 지 잘 모르겠습니다.

그러나 내 시스템 (Mac OS X 10.6)에는 ~/.bash_login 파일이 없습니다. 그리고 저는 rvm과 bundler를 둘 다 가지고 있습니다.

아마도 관련이 있습니다 - 홈브류가 설치되어 있고 내 경로가 /usr/local/bin 인 것을 제안했습니다. /usr/bin 앞에 있습니다. 이것은 Homebrew가 설치된 항목과 항목이 내가 설치 한 항목이 시스템에 설치된 항목보다 우선 순위가 높습니다.

+0

감사합니다 dty -하지만 내 질문에 대한 자세한 내용은 다음 명령을 내 환경 (그것을 고칠 방법이 아니라)에 대한 자세한 내용입니다. $ rvm get head && rvm reload $ chmod + x $ rvm_path/hooks/after_cd_bundler $ cd/path/to/project $ bundle install --binstubs = ./bundler_stubs – toblerpwn

관련 문제