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

v09wglhw  于 2023-08-04  发布在  Ruby
关注(0)|答案(3)|浏览(100)

我使用的是一台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


你知道我错过了什么吗谢谢你,谢谢

cedebl8k

cedebl8k1#

我终于在RVM documentation中找到了解决方案:
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

字符串

3lxsmp7m

3lxsmp7m2#

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

bnl4lu3b

bnl4lu3b3#

第一个月
添加ruby-2.0.0
再试一次。我用Pow + RVM + ruby-2.2.1工作

相关问题