2013-05-23 1 views
3

rvm을 사용하여 ruby 2.0을 설치했습니다. 나는 tmux을 처음 사용하고 있습니다. 나는 tmux을하려고 할 때Tmux 세션에서 루비 실행 경로가 잘못되었습니다.

나는 지금

.zshrc

source /Users/mgpyone/.rvm/scripts/rvm 
이 설정

set-option -g default-shell /bin/zsh 
set-option -g default-command "/bin/zsh -i" 

또한 내가로드 한 RVM의 경로로 .tmux.conf에 zsh을 사용하고, 이들은 CONFIGS은 세션.

which ruby 말한다

/Users/mgpyone/.rvm/rubies/ruby-2.0.0-p0/bin/ruby 
/Users/mgpyone/.rvm/bin/ruby 
/Users/mgpyone/.rvm/bin/ruby 

하지만 같은 /Users/mgpyone/.rvm/rubies/ruby-2.0.0-p0/bin/ruby

where ruby 반환 gem envRuby executable 경로가 시스템 경로 대신 rvm

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.0.3 
    - RUBY VERSION: 2.0.0 (2013-02-24 patchlevel 0) [x86_64-darwin12.3.0] 
    - INSTALLATION DIRECTORY: /Users/mgpyone/.rvm/gems/ruby-2.0.0-p0 
    - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /Users/mgpyone/.rvm/gems/ruby-2.0.0-p0/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-darwin-12 
    - GEM PATHS: 
    - /Users/mgpyone/.rvm/gems/ruby-2.0.0-p0 
    - /Users/mgpyone/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - :benchmark => false 
    - :sources => ["https://rubygems.org"] 
    - REMOTE SOURCES: 
    - https://rubygems.org 

로 설정되어 내가 실행할 수 없습니다 보여줍니다 이유과 같은 것3210은 System Ruby와 함께 실행되었다고 생각하기 때문입니다.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby app.rb -s puma 
app.rb:1:in `require': no such file to load -- sinatra (LoadError) 
     from app.rb:1 
     rake aborted! 
     Command failed with status (1): [/System/Library/Frameworks/Ruby.framework/...] 
     /Users/mgpyone/work/rb/fileserver/Rakefile:9 
     (See full trace by running task with --trace) 

어떻게 해결할 수 있습니까?

+0

확인은 그냥'gem' 명령은 시스템 보석 또는 RVM 보석을 사용하고 있는지 확인합니다. 또한, 이것은 tmux를 사용할 때만 발생합니까? –

+0

'gem' 명령이 시스템 gem이나 rvm gem을 사용하고 있는지 어떻게 확인할 수 있습니까? 예, 그것은'tmux' 세션에있을 때만 발생합니다. 고마워. –

+1

그냥 '보석'. 어쩌면 tmux 기본 명령을''/ bin/zsh -l "'로 변경해보십시오. zshrc를 제공하기 위해 로그인 쉘이 필요합니다. –

답변

0

tmux를 시작할 때 $ GEM_HOME 또는 $ GEM_PATH가 설정되었을 수 있습니다. tmux가 이러한 환경 변수를 상속 받으면, 그 아래에 포함 된 모든 쉘은 rvm 설정에 관계없이 해당 설정의 영향을받습니다. tmux showenv -g GEM_HOME (또는 GEM_PATH)