как активировать или установить грабли по умолчанию?
Я видел много
You have already activated rake 0.9.x, but your Gemfile requires rake 0.x.x
ошибки.
конечно, они могут быть решены (временно или всегда) с помощью следующих методов.
bundle exec rake
метод выше работает, но вы всегда должны ввести bundle exec.
Он также может быть решен с помощью
bundle update
но bundle update также обновляет ваши другие драгоценные камни.
некоторые говорят, что это можно решить с помощью
gem uninstall unwanted_rake_version
да, излишние грабли можно установить но он по-прежнему помечен как активированный таким образом, по-прежнему давая ошибку.
одним из решений было бы явно указать версию rake в вашем Gemfile, но это не вопрос. Это о том, как установить версию rake по умолчанию или активировать эту конкретную версию в rvm или других типах установок ruby?
3 ответов
новые версии rake можно активировать, предоставив дополнительный первый аргумент, то есть версию gem.
$ rake 0.9.2
кроме того, если у вас есть более старая версия rake, вы можете обновить сценарий rake вручную, чтобы включить этот параметр (или указать любую конкретную версию).
скрипт грабли обычно живет в /usr / bin / rake (или ~/.rvm / gems / ruby - #{ruby-name} / rake при использовании rvm). И диктует версию их, чтобы загрузить раньше анализ параматеров.
это выглядит так в моей системе.
$ cat ~/.rvm/gems/ruby-1.9.2-p180/bin/rake
#!/home/tomcat/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'rake' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems'
version = ">= 0"
if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? then
version =
ARGV.shift
end
gem 'rake', version
load Gem.bin_path('rake', 'rake', version)
важный момент-это gem 'rake', version
изменение version
заставит грабли к определенной версии system / rvm wide.
для получения дополнительной информации, Katz'статьи прекрасно объясняет, как двоичные файлы работают под rubygems
когда я получаю эту ошибку, обычно это результат работы между проектами, которые зависят от разных версий rake. Легко исправить это
gem uninstall rake
а затем в каталоге проекта (при условии, что вы работаете с Bundler) просто
bundle
Я всегда сначала удаляю rake, команда такая:
gem uninstall rake -v=version
затем установите другую версию
gem install rake -v=version