RVM сброса по умолчанию

Это рубины, которые я установил с помощью RVM

rvm rubies

   ruby-1.8.7-head [ x86_64 ]
   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-rc1 [ x86_64 ]

У меня много наборов гемов для 1.9.2

gemsets for ruby-1.9.2-p290 (found in /Users/mm/.rvm/gems/ruby-1.9.2-p290)
   19332
   309
   clone
   devise
   devise311
   enki
   global
   rails3
   rails301
   rails303
   rails304
   rails310
   rails313
   rails32
   rails323
   rails3tutorial
   railsValim

Однако, когда я попытался использовать один из них, он сказал, что его не существует

rvm use 1.9.2@rails304
ERROR: Gemset 'rails304' does not exist, rvm gemset create 'rails304' first.
WARN: Gemset doesn't exist, proceeding with default gemset
WARN: ruby ruby-1.9.2-use1.9.2 is not installed.
To install do: 'rvm install ruby-1.9.2-use1.9.2'

Обратите внимание на ссылку на версию Ruby в последней строке

To install do: 'rvm install ruby-1.9.2-use1.9.2'

Это отличается от рубина, указанного выше

ruby-1.9.2-p290 [ x86_64 ]

Я не знаю, откуда появился Ruby с 'use1.9.2' в конце. Может я как-то облажался, пытаясь сделать что-то вроде rvm use 1.9.2 поэтому слово "использование" застряло вместе с 1.9.2., поэтому я попытался установить другой rvm ruby ​​(p290) в качестве значения по умолчанию

rvm use ruby-1.9.2-p290 --default
Using /Users/me/.rvm/gems/ruby-1.9.2-p290

но когда я сделал это и попытался использовать один из его наборов гемов, он сказал, что его не существует

rvm use 1.9.2@rails304
ERROR: Gemset 'rails304' does not exist, rvm gemset create 'rails304' first.
WARN: Gemset doesn't exist, proceeding with default gemset
WARN: ruby ruby-1.9.2-use1.9.2 is not installed.
To install do: 'rvm install ruby-1.9.2-use1.9.2'

и снова, он имел ссылку на эту другую версию ruby ​​'ruby-1.9.2-use.1.9.2' с этим забавным 'use.1.9.2' в конце.

Я не знаю, является ли это моей человеческой ошибкой или чем-то, что произошло в результате моей недавней установки Mountain Lion, которая вызвала некоторые другие системные изменения на моем компьютере.

Как бы я мог получить 'ruby-1.9.2-use.1.9.2' из моей системы и использовать ruby ​​1.9.2, указанный при выполнении команды rvm rubies

       ruby-1.8.7-head [ x86_64 ]
       ruby-1.9.2-p290 [ x86_64 ]
       ruby-1.9.3-rc1 [ x86_64 ]

2 ответа

Решение

Я не знаю, почему синоним "rvm use 1.9.2" перестает работать и демонстрирует такое странное поведение, но при условии использования точного названия работы Ruby, вы можете попытаться указать gemset следующим образом

rvm use ruby-1.9.2-p290@rails304

или установить по умолчанию

rvm use ruby-1.9.2-p290@rails304 --default

Вот некоторая информация для понимания поведения rvm use

Когда ты бежишь rvm list known он будет перечислять рубины в следующем формате:

[ruby-]1.9.2[-p320]
[ruby-]1.9.3-p125
[ruby-]1.9.3-p194
[ruby-]1.9.3-p286
[ruby-]1.9.3-p327
[ruby-]1.9.3[-p362]

Части, содержащиеся в [], необязательны для ввода. Поэтому, делая rvm use 1.9.3 будет пытаться использовать 1.9.3-p362, поскольку он считается лучшей версией 1.9.3 для использования. Если он не установлен, он сначала попросит вас установить его. Это означает, что когда вы установили ruby-1.9.2, он, вероятно, установил p290, так как это была последняя версия, и это уже не так после обновления RVM до более новой версии. Поэтому, чтобы использовать ваши гемсеты для установленной версии, вам нужно сделать rvm use ruby-1.9.2-p290@GEMSET,

Другие вопросы по тегам