RVM无法将ruby设置为默认值

时间:2013-08-03 12:40:27

标签: rvm

我不知道为什么但是RVM似乎无法改变默认的Ruby。我正在使用Oh My Zsh并尝试我发现的所有内容但似乎没有任何效果。

➜  Sites  rvm use 2.0.0 --default
Using /Users/anahkiasen/.rvm/gems/ruby-2.0.0-p247
➜  Sites  rvm list
rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

➜  Sites  rvm reload && rvm list
RVM reloaded!

rvm rubies

 * ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

现在Ruby已设置为默认值,但RVM并未将其加载为" current",这意味着它不会加载与其相关的gemsets。

➜  Sites  rvm use 2.0.0
Using /Users/anahkiasen/.rvm/gems/ruby-2.0.0-p247
➜  Sites  gem list

*** LOCAL GEMS ***

backports (3.3.3)
bson (1.9.1)
bson_ext (1.9.1)
bundler (1.3.5)
bundler-unload (1.0.1)
eventmachine (1.0.3)
genghisapp (2.3.7)
json (1.8.0)
mongo (1.9.0)
mustache (0.99.4)
rack (1.5.2)
rack-protection (1.5.0)
rack-test (0.6.2)
rake (10.1.0)
rubygems-bundler (1.2.2)
rvm (1.11.3.8)
sass (3.2.10)
sass-globbing (1.1.0)
sinatra (1.4.3)
sinatra-contrib (1.4.0)
sinatra-mustache (0.1.0)
tilt (1.4.1)
vegas (0.1.11)
➜  Sites  rvm reload && gem list
RVM reloaded!

*** LOCAL GEMS *** 

Nothing.

我没有.bashrc也没有.bash_profile。我的.zprofile中没有RVM参考,这是我的.zshrc

# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load.
ZSH_THEME="robbyrussell"
DEFAULT_USER="anahkiasen"

# Uncomment following line if you want red dots to be displayed while waiting for completion
COMPLETION_WAITING_DOTS="true"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
plugins=(git bower brew composer gem laravel sublime)

## RVM and Rubygems
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

source $ZSH/oh-my-zsh.sh

我尝试过交换上面两行,尝试将RVM加载到.zprofile,没有。每次我打开终端的新实例时,默认都会消失。 它加载了正确的ruby,这意味着如果我ruby -v我得到了我想要的版本,但是对于RVM它没有加载,因此我没有任何gemsets。

我也尝试了rvm --default use 2.0.0rvm use 2.0.0@develop --default但结果相同。

我重新安装了RVM,我已经递归地将.rvm文件夹的权限设置为当前用户,没有。

我在这一点上绝望。

2 个答案:

答案 0 :(得分:4)

当你使用OH-MY-ZSH时,你可能遇到类似这样的问题:https://github.com/robbyrussell/oh-my-zsh/pull/1359

RVM有一个“修复”功能,运行:

rvm get head --auto-dotfiles

它将重新组织您的点文件 - 阅读输出并按照说明进行操作非常重要。

确保使用登录shell以获得最佳效果。

答案 1 :(得分:1)

啊哈哈!我刚遇到同样的问题并最终解决了。

让我重申一下我的问题:每当我启动终端时,我每次都必须首先进行捆绑安装。然后我想,它不正确。所以我尝试了我的zshrc。

所以每次我必须做source ~/.zshrc或简单地zsh也做同样的事情,我的宝石集会被识别出来。 Ofcourse 假设RVM和所有其他依赖项都已正确安装

最后,我想我需要做以下事情:

  • $ vim ~/.zlogin

  • .zlogin的内容应为

    [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
    zsh   #to initiate zsh (you could also replace this with 'source ~/.zshrc')
    

这解决了我的问题。现在,每当我启动终端时,我的默认设置都已设置。

请告诉我这是否适合您。