Bundler::RubyVersionMismatch: Your Ruby version is 2.3.1, but your Gemfile specified 2.1.8
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:417:in `validate_ruby!'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:91:in `setup'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
/opt/chef/embedded/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/opt/chef/embedded/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
bundler: failed to load command: rake (/home/deploy/.bundler/app_name/ruby/2.1.0/bin/rake)
它显示的所有位置:2.1.8
红宝石 -v ==>2.1.8 宝石文件有 ==> 2.1.8
不知道它从哪里获取版本 2.3.1。
我想从任何地方删除 2.3.1。
不确定,这是与服务器上的厨师设置或 ruby 安装相关的错误。
任何帮助将不胜感激。
您的bundle
可执行文件显然链接到本地Chef安装附带的Ruby(在这种情况下使用Ruby 2.3.1(。
当 chef 的可执行文件在您的PATH
中并且您没有在其他地方安装不同版本的捆绑程序时,可能会发生这种情况。
假设你有一个理智的PATH
,它可能足以运行
gem install bundler
使用您自己的 Ruby 安装当前版本的捆绑器(即,在/usr/local
而不是/opt/chef/embedded
中安装的那个(。