2

我不知道为什么,但 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 不会将其加载为“当前”,这意味着它不会加载附属于它的 gemset。

➜  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。我的没有 RVM 参考,.zprofile这是我的.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,它没有加载,因此我没有任何 gemset。

我也试过rvm --default use 2.0.0rvm use 2.0.0@develop --default但结果一样。

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

那一刻我有点绝望。

4

2 回答 2

6

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

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

rvm get head --auto-dotfiles

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

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

于 2013-08-03T21:49:08.373 回答
1

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

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

所以每次我不得不做source ~/.zshrc或干脆zsh也做同样的事情时,我的宝石就会被识别出来。当然,假设 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')
    

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

让我知道这是否适合您。

于 2013-12-22T08:14:50.870 回答