这些天我花了大部分时间在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
我怀疑这种差异是相关的,但我仍然坚持两个问题:
为什么我必须从tmux中的某个地方获取ruby而不是在我的终端上?
我该如何解决这个问题?通过rvm将ruby移动到正确的位置?我该怎么做?
以下是一些可能有用或可能没有帮助的其他信息
.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会话中运行相同命令的结果。
谢谢!