是否可以在安装了Ruby 2.1.5的机器上运行Ruby 2.1.2中开发的Ruby应用程序?我是Ruby的新手,我开始认为这是不可能的。较新版本的Ruby无法运行旧版本?有人可以证实吗?
当我输入“rails server”时,我收到错误消息“你的ruby版本是2.1.5,但是你的Gemfile指定了2.1.2(Bundler :: RubyVersionMismatch)”。它给我的一条消息是“ruby-2.1.2未安装”。然后它说“要安装do:rvm install ruby 2-1-2”
我尝试在Gemfile中注释ruby版本和/或更改版本号,但我现在收到更多错误消息:
答案 0 :(得分:3)
答案 1 :(得分:2)
就近期历史而言,Ruby语言的最大转变是在Ruby 1.8和Ruby 1.9之间,由于语法的变化和强制执行UTF-8编码,许多事情都引发了冲突。
Ruby 2.0和2.1引入了更多功能,但并未真正影响向后兼容性。从2.1.2到2.1.5的转变很少会导致一个例外的问题:
通常这可以通过以下方式完成:
bundle install
请注意,Bundler本身是一个gem,因此如果bundle
命令不适用于该版本的Ruby,则可能需要安装它:
gem install bundler
如果由于Gemfile
中的Ruby版本不匹配而导致冲突,请编辑该文件以反映所需的版本。
许多多版本的Ruby管理器(如RVM和RBenv使用主应用程序目录中的.ruby-version
文件来指定它。这比在Gemfile
本身中锁定Ruby版本更温和。
如果您需要在服务器上安装新版本的Ruby:
rvm install 2.1.5
rvm --default 2.1.5
rvm use 2.1.5
gem install bundler
bundle install
这应该可以使用。