ruby - Tmux session 中错误的 ruby​​ 可执行文件路径

标签 ruby macos rvm tmux

我已经使用 rvm 安装了 ruby 2.0。我是 tmux 的新手。

我在 .tmux.conf 中使用 zsh 和这个配置

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

我还在 .zshrc 中加载了 rvm 路径

source /Users/mgpyone/.rvm/scripts/rvm

现在,这些是我在 tmux session 中尝试时的配置。

which ruby​​ 表示 /Users/mgpyone/.rvm/rubies/ruby-2.0.0-p0/bin/ruby

其中 ruby​​ 返回为

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

但为什么 gem env 显示我的 Ruby 可执行文件 路径设置为系统路径而不是 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/ruby-2.0.0-p0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :benchmark => false
     - :sources => ["https://rubygems.org"]
  - REMOTE SOURCES:
     - https://rubygems.org

而且我不能运行像 rake 这样的东西,因为我认为它是用 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)

我该如何解决这个问题?

最佳答案

您可能在启动 tmux 时设置了 $GEM_HOME 或 $GEM_PATH。由于 tmux 继承了这些环境变量,因此无论 rvm 设置如何,它下面包含的每个 shell 都会受到这些设置的影响。

检查 tmux showenv -g GEM_HOME(或 GEM_PATH)

关于ruby - Tmux session 中错误的 ruby​​ 可执行文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707524/

相关文章:

ruby - RHEL 6.3 和所有 Ruby 安装程序上的 OpenSSL 问题

ruby-on-rails - 绘制 Highcharts 时 ruby​​ 代码中出现“TypeError”或 'expected numeric' 错误

jquery - 屏幕抓取完全渲染的页面

macos - 如何在 Mac 上的“设置”面板中设置屏保缩略图?

macos - 经典 MacOS 进入程序时 68000 堆栈上有什么?

c++ - 使用 native 系统调用在 C++ 中播放声音?

ruby - 如何运行 "bundle exec jekyll new ."

ruby-on-rails - Rails 指南第 5.12 节的 UrlGenerationError

ruby - 复制.blank?在标准的 Ruby 中

ruby - 使用 rvm install ruby​​ 2.0.0 时权限被拒绝的问题