rvm, irb и require - не работает для установленных гемов под irb
Я только что установил rvm сегодня, и это выглядит очень удобно / мощно.
Я думаю, что я понимаю это, но...
При использовании установленного rvm ruby и запуске irb, когда мне требуется установленный гем, что-то вроде 'rvm', я получаю:
> kimptoc$ rvm use 1.8.7
Using /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302
> kimptoc$ gem list
*** LOCAL GEMS ***
abstract (1.0.0)
...
rvm (1.0.11)
...
> kimptoc$ irb
ruby-1.8.7-p302 > require 'rvm'
LoadError: no such file to load -- rvm
from (irb):1:in `require'
from (irb):1
Но при использовании "системного" рубина он работает нормально.
Исторически я использовал sudo gem install... и поэтому "системные" гемы обычно устанавливаются именно так. Может ли это быть моей проблемой? Нужно ли мне удалить их, чтобы исправить вещи?
Я использую OSX 10.6.4. "system" - это стандартный OSX ruby, 1.8.7 (p174)
Спасибо заранее за любые советы / мысли, Крис
4 ответа
> rvm use 1.8.7
> rvm info
(Find the homes -> gem directory)
> ls -al ~/.rvm/gems/ruby-1.8.7 (Substitute your gem directory as needed)
Ваш драгоценный камень в этом каталоге?
Вообще говоря, использование sudo gem install с rvm - плохая идея.
Начиная с Ruby 1.9.3, вам больше не нужны, могут, требуются рубины, и вам нужно только требовать rvm.
Если вы хотите использовать его в своем файле.irbrc для использования wirble или awsome print, вы можете использовать простой трюк, чтобы избежать ошибки входа в систему, говоря, что он не может включать в себя или "rubygems", или "rvm".
if RUBY_VERSION > "1.8.7"
require 'rvm'
else
require 'rubygems'
end
require 'wirble'
Wirble.init
Wirble.colorize
Включение как rubygems, так и rvm не кажется логичным, потому что RVM заменяет rubygems в некотором роде для обработки драгоценных камней и хранилищ драгоценных камней.
Примечание. Для Ruby 1.8 вы должны потребовать «rubygems», прежде чем требовать какие-либо драгоценные камни.