Подтвердить что ты не робот

Переустанавливать каждый камень для каждой рубиновой версии?

Я только что установил 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?

4b9b3361

Ответ 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

Другим решением является копирование (или переустановка) драгоценных камней из предыдущей версии в новую установленную версию. Как это сделать, детально отредактирован в этом вопросе, который имеет два сценария - один для установить из локального кеша, один для переустановить из Интернета (мой).