ruby gems只安装在tmux中

时间:2014-09-27 05:39:04

标签: ruby gem rvm

这些天我花了大部分时间在TMUX会话中进行开发。最近我尝试在tmux之外使用我的一颗红宝石,它告诉我它没有安装。我使用gem install安装它(再次?!?),但是我不明白为什么我应该这样做,因为我不记得删除了它。为了让事情变得更加奇怪,当我调查它时......

gem list

...我收回了一小部分宝石......几乎所有的宝石我都很确定我已经安装了......

然后我启动一个tmux会话,再次运行gem list,并且惊讶的是,我的所有宝石都在那里。

这里发生了什么?我正在使用rvm,所以我认为它与由rvm管理的ruby版本有关。我通过跑步测试了这个     哪个红宝石 进出tmux

$ which ruby
usr/bin/ruby
$ tmux new -s test
$ which ruby
/home/stephen/.rvm/rubies/ruby-2.1.2/bin/ruby

我怀疑这种差异是相关的,但我仍然坚持两个问题:

  1. 为什么我必须从tmux中的某个地方获取ruby而不是在我的终端上?

  2. 我该如何解决这个问题?通过rvm将ruby移动到正确的位置?我该怎么做?

  3. 以下是一些可能有用或可能没有帮助的其他信息

    .rvmrc的内容:

    rvm_autoupdate_flag=2
    

    .bashrc的内容

    export EDITOR=vim
    export HIST_FILE_SIZE=9999
    
    ### Added by the Heroku Toolbelt
    export PATH="/usr/local/heroku/bin:$PATH"
    
    [ -z "$TMUX" ] && export TERM=xterm-256color
    
    export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
    

    .bash_profile的内容

    [[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
    
    export PATH=$PATH:$HOME/bin
    
    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
    
    # Load the bashrc
    if [ -f ~/.bashrc ]; then
       source ~/.bashrc
    fi
    

    here's我的环境变量列表 和here's在tmux会话中运行相同命令的结果。

    谢谢!

1 个答案:

答案 0 :(得分:0)

确保为终端使用登录shell,配置因终端应用程序而异 - 从这里开始:http://rvm.io/integration/gnome-terminal