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

Изменить пакет установить версию Ruby

Я новичок в Ruby/Rails, так что простите меня, если это тривиальный вопрос. Всякий раз, когда я запускаю bundle install, он устанавливает все в vendor/bundle/ruby ​​/1.8 вместо vendor/bundle/ruby ​​/1.9.1, которая является версией Ruby, которую я использую. Когда я запускаю ruby -v, я получаю правильную версию 1.9.1, но пакетная установка настаивает на версии 1.8 по какой-то причине, и это вызывает много ошибок с базовыми функциями Rails.

Как я могу проинструктировать пакет для работы с 1.9.1 (и желательно удалить любые следы Ruby 1.8)?

Спасибо!

EDIT: я сделал все этот ответ, и я не получаю никаких следов 1.8

ИЗМЕНИТЬ СНОВА: Ну, это работает как-то. Возможно, перезапуск Bash исправил его. В любом случае существует ли общее решение для принудительного использования bundle install для использования конкретной версии Ruby, чтобы это не повторилось или кому-то еще?

4b9b3361

Ответ 1

Для меня проблема заключалась в том, что я случайно сконфигурировал шеф-повар, чтобы установить комплектщик с версией рубиновой версии системы, которая ставит связки в системный путь:

/usr/local/bin/bundle

Используется эта версия пакета /usr/bin/gem (как отмечено в комментарии выше), который принудительно выполнил версию 1.8

Действительно, я хотел, чтобы он был установлен в расположение прокладок .rbenv для моего пользователя.

Чтобы устранить проблему, я удалил пакет, запустив его как root, который удалил его из /usr/local/bin.

Я уже установил связку с драгоценным камнем в моей желаемой рубиновой версии для пользователя, поэтому теперь, когда я звоню which bundle, я вижу:

/[user_home]/.rbenv/shims/bundle

и теперь, когда я запускаю bundle install, связка связана с текущей версией ruby.

Ответ 2

Пакет работает с драгоценными камнями. Убедитесь, что команда gem также использует правильную версию ruby: на Ubuntu Linux мне пришлось символически ссылаться /usr/bin/gem на/usr/bin/gem1.9.1

(Единственная разница между /usr/bin/gem 1.8 и/usr/bin/gem1.9.1 была первой строкой, определяющей используемую рубиновую версию: #!/usr/bin/ruby1.9.1)