2011-02-09 3 views
6

나는 RVM을 설정하고 RVM best practices에 따라 프로젝트에 대한 개별 보석 세트를 만들었습니다. 이제 TextMate에서 테스트 파일을 실행하면 작동하지 않으며 수행 할 작업은 read here입니다. 문제는 가이드가 나에게 하나의 보석 세트 ("Rails3"라고 부름)가 있기를 기대하기 때문에 작동하지 않는다는 것입니다. 나는 일반적으로 한 번에 2-3 개의 프로젝트를 열어 (다른 보석 세트를 사용하여)이 방법을 효과적으로 사용할 수 없다.TextMate에서 다른 보석 세트로 RVM 사용

이 문제를 해결 한 사람이 있습니까?

답변

12

RVM 래퍼 메소드가 매우 버그가 있으며, 지루한 설정을하지 않는 이상 gemset을 사용하면 전혀 작동하지 않는다는 것을 알게되었습니다. 만큼 당신이 TextMate를 프로젝트에있는 한

#!/bin/bash 

base_dir=${TM_PROJECT_DIRECTORY:-$PWD} 
cd $base_dir 
exec $MY_RUBY_HOME/bin/ruby $* 

그리고 당신은 당신의 코드를 실행 프로젝트 루트에서 .rvmrc 파일이 :

나는 TM_RUBY로 다음 스크립트를 사용하여 일부 성공을 거두었습니다 .rvmrc에 지정된 Ruby 버전 및 gemset cd은 RVM이 .rvmrc을 발견했는지 확인합니다.

위의 코드를 ~/bin/textmate_ruby_wrapper에 입력 한 다음 환경 설정> 고급> 셸 변수로 이동하여 TM_RUBY을 동일한 경로로 설정하십시오.

+0

남자, 나는 [내 upvotes을 절약했습니다 질문] (http://stackoverflow.com/badges/155/electorate),하지만 이것에 하나를 보내야 해. 아주 좋아! – Phrogz

+0

업보트를 저장하지 마십시오. 너는 너와 함께 할 수 없어. –

+0

당신은 멋진 sooooo입니다 :-) 많이 고마워! 행복한 사람이 여기 있습니다 :-) – jriff

0

나는이 솔루션을 더욱 간단하게 발견했습니다. 고급 - -의 TextMate 환경에서 쉘 변수 : 설정

당신의 GEM_HOME :

env | grep GEM_HOME | awk '{ sub(/GEM_HOME=/, ""); print }' 

설정하십시오 GEM_PATH :

env | grep GEM_PATH | awk '{ sub(/GEM_PATH=/, ""); print }'