[英]Running old Ruby versioned app on newer version of Ruby
是否可以在安装了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”。 然后显示“要安装:rvm install ruby 2-1-2”
我尝试注释掉Gemfile中的ruby版本和/或更改版本号,但现在收到更多错误消息:
就最近的历史而言,Ruby语言的最大转变是在Ruby 1.8和Ruby 1.9之间,其中许多事情由于语法更改和强制UTF-8编码而引起冲突。
Ruby 2.0和2.1引入了更多功能,但并没有真正影响向后兼容性。 从2.1.2转换到2.1.5很少会引起问题,只有一个例外:
通常,这是通过以下方式完成的:
bundle install
请注意, Bundler本身就是一颗宝石,因此,如果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
那应该使它可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.