我没有正确使用rvm - '忘记'新会话的信息

时间:2013-08-03 17:02:57

标签: ruby-on-rails ruby-on-rails-3.2 rvm zsh iterm2

今天下午我不得不重新安装RVM,我仍然在努力解决以下问题 - 当我加载一个新的终端窗口(iTerm2 Build 1.0.0.20130624zsh 4.3.9 (i386-apple-darwin10.0))时,rvm'忘记'我的宝石集数据。

这是一个相当普遍的问题,但我尝试过的一切都没有奏效。我已完成this(省略了create,因为已经制作了宝石集):

rvm use --default 2.0.0@<gemset_name>

this显然不起作用,因为我使用的是ZSH:

Command: /bin/bash --login

然后我尝试了this,特别是ZSH,但这也不起作用 - 打开iTerm时出现以下错误:

## exec failed ##
argpath=/usr/local/bin/zsh error=No such file or directory

我将iTerm偏好设置中的命令更改为

~/.zlogin -l

因为我已将其添加到.zlogin

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

也没用,抛出这个错误:

## exec failed ##
argpath=/Users/<username>/.zlogin error=Permission denied

所以我在iTerm偏好设置中将'Login Shell'切换回""(因此加载时没有错误)并在命令行中尝试了这个:

$ source $HOME/.rvm/scripts/rvm

给了我

source: no such file or directory: /Users/<username>/.rvm/scripts/rvm

所以现在我真的很困惑。为什么我的~目录中没有.rvm?

最后,这是重新开启iTerm时rvm info的结果:

system:

  system:
    uname:       "Darwin <users>-MacBook-Pro.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386"
    system:      "osx/10.6/i386"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.21.16 () by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "3 hours 33 minutes 38 seconds ago"
    path:         "/usr/local/rvm"

  homes:
    gem:          "not set"
    ruby:         "/usr/local/rvm/rubies/ruby-2.0.0-p247"

  binaries:
    ruby:         "/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/ruby"
    irb:          "/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/irb"
    gem:          "/usr/local/rvm/rubies/ruby-2.0.0-p247/bin/gem"
    rake:         "/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin/rake"

  environment:
    PATH:         "/usr/local/rvm/gems/ruby-2.0.0-p247@<gemset>/bin:/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p247/bin:/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/Users/<username>/.rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-2.0.0-p247"
    IRBRC:        "/usr/local/rvm/rubies/ruby-2.0.0-p247/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

1 个答案:

答案 0 :(得分:2)

你有一个rvm - /usr/local/rvm的系统安装,建议不要用于基本用途(主要是因为你遇到的问题和许多其他问题)。

从强制~/.zshrc开始清除PATH=,如此拉取请求https://github.com/robbyrussell/oh-my-zsh/pull/1359

中所述

然后更新RVM:

rvmsudo /usr/local/rvm/bin/rvm get head --auto-dotfiles

并重新启动计算机。

系统安装存在问题,即早期加载并且在启动计算机时加载了default ruby​​,您需要重新启动计算机才能使新默认值生效。使用rvm的用户安装时不会发生此问题。

任选

删除系统安装并为用户安装rvm:

  1. 删除系统rvm:

    rm -rf /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm
    
  2. 重新启动计算机以摆脱环境变量(是的,这是必需的)。

  3. 从rvm确认环境是否清空(应为空输出):

    env | grep rvm
    
  4. 安装用户rvm:

    \curl -L https://get.rvm.io | bash