Ответ 1
Вы должны запустить
rvm use @global && gem uninstall rake -v 0.9.0
rvm use @ && gem uninstall rake -v 0.9.0
чтобы правильно удалить rake 0.9.0 из rvm
У меня возникли проблемы с удалением грабежа версии 0.9. Мне удалось запустить gem uninstall rake
, и я полагал, что это удалило его. Однако, возвращаясь к списку драгоценных камней, он все еще показал, что он все еще существует.
Запуск gem env
:
GEM PATHS:
/home/sean/.rvm/gems/ruby-1.9.2-p180
/home/sean/.rvm/gems/[email protected]
Я зашел в каталог @global
и вручную удалил его там, но все же он где-то остается. Я вижу это, когда я запускаю gem list
. Драйвер 0.9 rake вызывает проблемы для моего приложения Rails 3.0.7.
Я побежал gem list -d rake
:
rake (0.9.0, 0.8.7)
Installed at
(0.9.0): /home/sean/.rvm/gems/[email protected]
(0.8.7): /home/sean/.rvm/gems/ruby-1.9.2-p180
Я ничего не вижу в каталоге gems для [email protected]
Вы должны запустить
rvm use @global && gem uninstall rake -v 0.9.0
rvm use @ && gem uninstall rake -v 0.9.0
чтобы правильно удалить rake 0.9.0 из rvm
В терминале введите: gem uninstall rake
, затем выберите вариант 0.9.0 при появлении запроса.
Затем измените свой Gemfile в приложении Rails:
gem 'rake', '0.8.7'
Затем в терминальном запуске:
bundle install
Эти шаги должны исправить проблемы, которые у вас есть. При обновлении до рельсов повышайте уровень рейка 3.1.
Если вы используете rvm, вы получаете rake 0.9, установленный "бесплатно" в глобальном gemset, который делает его трудно (невозможно?) для правильной деинсталляции. gem uninstall rake
успешно, но на самом деле не удаляет рейк 0.9. Я должен был сделать это вручную как для REE, так и для 1.9.2.
Я редактировал исполняемый файл rake script (найти с which rake
) и добавил:
puts "Gem.bin_path: #{Gem.bin_path('rake', 'rake', version)}
... перед последней строкой. Это печатает (в моей системе): Gem.bin_path: ~/.rvm/gems/[email protected]/gems/rake-0.9.0/bin/rake
Чтобы удалить 0.9 cd в ~/.rvm/gems/ree-1.8.7-2011.03 и вручную удалите все файлы rake-0.9 (драгоценные камни, спецификации - те, которые считаются, на мой взгляд,).
Я столкнулся с этой же проблемой (нужен грабли 0.8.7, но получил 0,9 "бесплатно" с rvm). Первоначально gem list -d rake
дал следующий результат:
rake (0.9.0, 0.8.7) Installed at (0.9.0): ~/.rvm/gems/[email protected] (0.8.7): ~/.rvm/gems/[email protected]_gemset
Переход на глобальный gemset с помощью rvm use @global
дал мне этот результат:
rake (0.9.0) Installed at: ~/.rvm/gems/[email protected]
Итак, я просто сделал gem uninstall rake
. Теперь, возвращаясь к моему gemset с помощью rvm use @my_gemset
, используется верная версия рейка (0.8.7).
Если вы используете bundler, вы должны прочитать эту отличную статью Yehuda Katz. Следуя его инструкциям, вам не нужно удалять рейк 0.9.0. Попробуйте выполнить следующую команду:
bundle exec rake --version
Prepending bundle exec
будет следить за тем, чтобы загружалась только правильная версия рейка, независимо от других, которые вы установили.
Вы пытались использовать "очистку драгоценных камней" script?