Bundler::RubyVersionMismatch: ваша версия Ruby 1.9.3, но в вашем Gemfile указан 2.0.0

Я использую Mac с Pow, Ruby, Rails и кучей полезных камней. Я недавно получал эту ошибку всякий раз, когда я пытаюсь открыть свое приложение.

Bundler:: RubyVersionMismatch: ваша версия Ruby 1.9.3, но в вашем Gemfile указан 2.0.0

Я понимаю ошибку, но не могу найти, почему она не использует правильную версию здесь.

Некоторая информация, которая может быть полезна:

Трассировки стека

Bundler::RubyVersionMismatch: Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0
~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/definition.rb:361:in `validate_ruby!'
~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
~/Dropbox/Documents/project/Sites/project-profile/config.ru:3:in `block in <main>'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/builder.rb:4:in `instance_eval'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/builder.rb:4:in `initialize'
~/Dropbox/Documents/project/Sites/project-profile/config.ru:1:in `new'
~/Dropbox/Documents/project/Sites/project-profile/config.ru:1:in `<main>'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:50:in `eval'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:50:in `load_config'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:43:in `initialize'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:13:in `new'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/lib/nack/server.rb:13:in `run'
~/Library/Application Support/Pow/Versions/0.4.1/node_modules/nack/bin/nack_worker:4:in `<main>'

RVM & Ruby версия

$> ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.5.0]
$> rvm use 
Using /Users/Alex/.rvm/gems/ruby-2.0.0-p247

Есть идеи, что мне здесь не хватает? Спасибо!

3 ответа

Решение

Я наконец нашел решение в документации RVM:

Pow удалил автоматическое обнаружение rvm, вот как его можно восстановить, создав.powenv в корне проекта, в соответствии с документацией Pow его не следует возвращать в систему контроля версий (если только все члены команды не согласны с этим).

Эти строки должны быть добавлены в .powenv файл в корне вашего проекта. Затем после перезапуска сервера все заработало как шарм!

# detect `$rvm_path`
if [ -z "${rvm_path:-}" ] && [ -x "${HOME:-}/.rvm/bin/rvm" ]
then rvm_path="${HOME:-}/.rvm"
fi
if [ -z "${rvm_path:-}" ] && [ -x "/usr/local/rvm/bin/rvm" ]
then rvm_path="/usr/local/rvm"
fi

# load environment of current project ruby
if
  [ -n "${rvm_path:-}" ] &&
  [ -x "${rvm_path:-}/bin/rvm" ] &&
  rvm_project_environment=`"${rvm_path:-}/bin/rvm" . do rvm env --path 2>/dev/null` &&
  [ -n "${rvm_project_environment:-}" ] &&
  [ -s "${rvm_project_environment:-}" ]
then
  echo "RVM loading: ${rvm_project_environment:-}"
  \. "${rvm_project_environment:-}"
else
  echo "RVM project not found at: $PWD"
fi

touch .ruby-version

добавлять ruby-2.0.0

Попробуйте снова. Работал у меня с Pow + RVM + ruby-2.2.1

Может быть, проверить версию в .rvmrc в корневой папке вашего проекта. Если у вас его нет, создайте его. Перейдите в папку вашего проекта в терминале и введите rvm --create --rvmrc 2.0.0-p247@yourgemsetname, После этого вам нужно будет направить в вашу родительскую папку и вернуться в папку вашего проекта. Последние версии rvm использование .ruby_version вместо .rvmrc,

Другие вопросы по тегам