Переустанавливать каждый камень для каждой рубиновой версии?
Я только что установил Ruby 2.0.0 с помощью rbenv и установил его для глобальной рубиновой версии для моей системы. Поскольку 2.0 совместим с 1.9.3, я попытался запустить с ним проект Rails, но получил следующую ошибку. Я сделал rbenv rehash
после установки 2.0
The `rails' command exists in these Ruby versions:
1.9.3-p327
Означает ли это, что каждый камень, который я установил в своей системе с 1.9.3, нужно переустановить, если я хочу использовать его с 2.0?
Ответы
Ответ 1
Да. Rbenv (и RVM) имеют отдельные каталоги "gem home" для каждой установленной версии Ruby. Могут быть способы символизировать определенные каталоги, чтобы их можно было разделить, но это, вероятно, приведет к проблемам, особенно с драгоценными камнями, которые включают в себя собственные расширения C, которые могут или не могут компилироваться и выполняться чисто в нескольких версиях.
Если у вас есть Gemfile, проще всего просто bundle install
снова для Ruby 2.0, давая вам дубликаты копий многих драгоценных камней и скомпилированных версий Ruby-2.0 любых родных камней.
Ответ 2
Как видно здесь:
Вам нужно переустановить пакет для каждой версии Ruby, которую вы используете. См. Версии Ruby, где вы ее установили:
rbenv whence bundle
Смотрите текущую версию:
rbenv version
Установите пакет для этой версии, если отсутствует:
gem install bundler
Ответ 3
Другим решением является копирование (или переустановка) драгоценных камней из предыдущей версии в новую установленную версию. Как это сделать, детально отредактирован в этом вопросе, который имеет два сценария - один для установить из локального кеша, один для переустановить из Интернета (мой).