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
,