2013-08-03 2 views
0

Я понятия не имею, почему RVM, похоже, не может изменить стандартный Ruby. Я использую Oh My Zsh и пробовал все Я нашел, но ничего не работает.RVM не может установить рубин по умолчанию

➜ 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 

Теперь Рубин устанавливается по умолчанию, но РВМ не загружает его как «ток», что означает, что он не загружает 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 и вот мой .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 -v Я получаю версию, которую хочу, но для RVM она не загружена и, следовательно, у меня нет ни одного из гемсетов.

Я также пробовал rvm --default use 2.0.0, rvm use [email protected] --default но такой же результат.

Я переустановил RVM, я установил рекурсивные разрешения для папки .rvm текущему пользователю, ничего.

В какой-то момент я отчаянно отчаялся.

+0

Я не понимаю. Вы перезагружаете RVM, и ваша версия по-прежнему отмечена как значение по умолчанию. – sevenseacat

+0

Нет, он помечен как текущий, а не по умолчанию. –

+0

Звезда означает значение по умолчанию. Прочитайте вывод 'rvm list'. – sevenseacat

ответ

4

Как вы используете ОН-MY-ЗШ вы могли бы поразить вопрос подобный этому: https://github.com/robbyrussell/oh-my-zsh/pull/1359

РВМ имеет функцию «исправить», запустите:

rvm get head --auto-dotfiles 

Это будет реорганизовать свои точечные файлы - важно прочитать результат и следовать инструкциям.

Для обеспечения наилучшего эффекта обязательно используйте оболочку для входа в систему.

+0

К сожалению, это ничего не изменило, оно заменило строки в правильных точечных файлах, но ошибка сохраняется. –

+0

Вы получили информацию о принудительной 'PATH' и следуете инструкциям по ее удалению? – mpapis

+0

Моя рубиновая версия меняет систему на прежний рубин при запуске 'source ~/.zshrc'. Я исправляю это, комментируя строку настройки PATH в .zshrc, как предлагалось предложение pull. – lingceng

1

Ah ha !! Я просто столкнулся с той же проблемой и решил ее в конечном итоге.

Позвольте мне повторить мою проблему: каждый раз, когда я запускаю свой терминал, мне приходилось сначала устанавливать пакет каждый раз. Тогда я понял, что это неправильно. Поэтому я попытался найти мой 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') 
    

Это решило мою проблему. Теперь каждый раз, когда я запускаю свой терминал, мои настройки по умолчанию настроены.

Дайте мне знать, если это сработает для вас.