#ruby #macos #rubygems
#ruby #macos #rubygems
Вопрос:
У меня возникли проблемы с Ruby-скриптами, которые находят нужные драгоценные камни. Кажется, это связано с наличием нескольких установок Ruby в моей системе. OS X уже поставляется с Ruby, но это не последняя версия. Я обновился со Snow Leopard до Lion и внезапно получил все эти экземпляры папок rubygems:
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems
/Library/Ruby/Gems/1.8/gems/rubygems-update-1.8.11/lib/rubygems
/Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/rubygems
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems
/Users/[user_name]/.rvm/repos/ruby/lib/rubygems
Я установил graph gem с gem install
помощью и, похоже, не могу найти его ни в одном из этих мест. irb находит это, когда я делаю require
, но скрипт ruby, сохраненный и запущенный из командной строки, выдает ошибку:
«требуется»: нет такого файла для загрузки
Еще одна подсказка заключается в том, что при запуске rails server
я часто вижу вывод из /Library/Ruby/Gems/1.8/gems/
Но graph gem, похоже, тоже не находится на этом пути.
Итак, да, большой беспорядок. Любая помощь по безопасному упрощению этого и удалению избыточных экземпляров будет с благодарностью принята.
Обновить:
Удалось отследить установленные драгоценные камни, чтобы: /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby/user-gems/1.8/gems
Итак, я должен просто удалить все остальное с помощью a rm -rf
? Я бы не хотел этого делать и вызывать всевозможные проблемы с зависимостями. В конечном итоге я хотел бы получить чистую систему только с одной установкой ruby, но я не могу стереть свой жесткий диск.
Комментарии:
1. Удален тег ruby-on-rails, добавлен тег osx.
Ответ №1:
Я рекомендую вам использовать rvm для переключения рубинов и драгоценных камней. поместите файл .rvmrc в папки вашего проекта, и он автоматически переключит для вас «набор драгоценных камней».
Общее мнение заключается в том, чтобы оставить версию ОС ruby, поскольку для переключения версий ruby используется либо rvm, либо rbenv.
Похоже, у вас установлен rvm, а также несколько установок ruby, установленных разными способами.
Правильно ли работает rvm, если это так, вы можете игнорировать другие ваши установки ruby.
Комментарии:
1. Но найдет ли он установленные драгоценные камни в других папках? (см. Редактирование выше, я обнаружил местоположение установленных пользователем драгоценных камней). Также как мне автоматически переключать набор драгоценных камней? Что нужно добавить в .rvmrc?
2. в .rvmrc вы вводите строку, например, поэтому
rvm use gemsetx@ruby1xx
вам нужно добавить этот ruby, а затем добавить к нему набор драгоценных камней. учебные пособия по rvm должны помочь вам в этом.3. да, наборы драгоценных камней похожи на чистый лист для конкретной версии ruby.
4. Ах, да, это намного лучше, с rvmrc и gemset все выглядит хорошо. Вы бы порекомендовали мне удалить другие местоположения? Просто очень запутанно иметь все эти версии, но я не хочу нарушать какие-либо зависимости, особенно для любого материала MacRuby, который может иметь Xcode. Большое спасибо!
5. не помешало бы сохранить их все.