Bundler :: RubyVersionMismatch:您的Ruby版本是1.9.3,但您的Gemfile指定为2.0.0

我正在使用带有Pow,Ruby,Rails和一堆有用gem的Mac。 每当我尝试打开我的应用程序时,我最近都会遇到此错误。

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 `' ~/Dropbox/Documents/project/Sites/project-profile/config.ru:3:in `block in ' ~/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 `' ~/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 `' 

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 

知道我在这里缺少什么吗? 谢谢!

我终于在RVM文档中找到了解决方案:

Pow已经删除了对rvm的自动检测,这里是如何通过在项目的根目录中创建.powenv来恢复它,根据Pow docs它不应该检查到源代码控制(除非所有团队成员都同意)。

必须将这些行添加到项目根目录下的.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 

也许在项目根文件夹中检查.rvmrc中的版本。 如果你还没有创建它。 移动到终端中的项目文件夹并输入rvm --create --rvmrc 2.0.0-p247@yourgemsetname 。 在必须指向父文件夹并返回到项目文件夹之后。 最新版本的rvm使用.ruby_version而不是.rvmrc

touch .ruby-version

添加ruby-2.0.0

再试一次。 使用Pow + RVM + ruby​​-2.2.1为我工作