通过 bundler 安装时 Ruby 版本不兼容
Posted
技术标签:
【中文标题】通过 bundler 安装时 Ruby 版本不兼容【英文标题】:Ruby version incompatibility when installing via bundler 【发布时间】:2016-11-09 10:53:51 【问题描述】:我想通过 bundler 安装 ruby on rails 应用程序:
bundle install
它让我出现以下错误:
Your Ruby version is 2.0.0, but your Gemfile specified 2.3.0
但是,如果我运行 ruby -v,我会得到以下输出:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
【问题讨论】:
如果你这样做sudo ruby -v
显示的版本是什么
你在使用 rvm 吗?
是的@M.Karim 一样。
【参考方案1】:
您的 Ruby 版本没问题,我认为问题出在 bundle
命令上。您从系统预装的旧 Ruby 中调用 bundle。运行which bundle
找到它。我建议切换到旧 Ruby,然后卸载 gem bundler
,然后切换到新 Ruby 并重新安装 gem bundler
。
不清楚您使用的是哪个 Ruby 版本管理器,因此基本命令流程如下所示:
gem uninstall bundler # this command may require sudo
gem install bundler
如果不起作用,请尝试在命令之间切换 Ruby 版本。
【讨论】:
【参考方案2】:上次ruby
的版本有些问题。
案例1,你应该检查你的Gemfile
,如果你的Gemfile
有这行:
ruby '2.0.0'
,你应该换成ruby '2.3.0'
,这样就可以了。
Case2,如果您尝试执行 case1,但它不起作用,请检查 folder project
中的文件 .ruby-version
。如果它存在,你只会改变:
2.0.0
到 2.3.0
,我认为它也会起作用。
【讨论】:
【参考方案3】:你用什么红宝石马槽? rvm, rbenv, chruby ?
尝试在您的项目文件夹中添加以下文件 .ruby-version 在这个文件中放入以下行
ruby-2.3.1
然后切换到您的主目录(或任何其他文件夹)并再次切换回项目文件夹
并确保它是哪个 ruby 管理器,它已加载替换系统默认值。
在您回复后,我可能会为您提供更多帮助。
【讨论】:
【参考方案4】:试试bundle update
。您的Gemfile.lock
中可能有bundle install
试图遵循的不正确版本。
【讨论】:
bundle update
给了我一个Your Ruby version is 2.0.0, but your Gemfile specified 2.3.0
你能看一下Gemfile,看看ruby
条目是否重复?以上是关于通过 bundler 安装时 Ruby 版本不兼容的主要内容,如果未能解决你的问题,请参考以下文章
Bundler 找不到 gem "bundle" 的兼容版本
Bundler 找不到 gem mandrill-api 的 gem "excon" 的兼容版本
Error-Bundler 找不到 gem“bundle”的兼容版本:在 Heroku 上推送项目时