繁体   English   中英

升级Ruby版本和Rails兼容性

[英]Upgrading Ruby version And Rails Compatibility

嗨,大家好,我想知道是否有人可以解释我遇到的问题,以便我能理解最新情况。

我目前正在运行ruby 2.2.2和rails 5.我有一个小测试应用程序,一切正常。 我决定将ruby升级到版本2.4.0,除了我认为我应该知道如何做以及由此产生的陷阱等,没有其他原因,所以这是一个学习练习。

将ruby更新到2.4.0之后,命令rails -v返回未安装的rails。 如果我然后恢复到旧的ruby 2.2.2 rvm use ruby-2.2.2运行rails -v然后返回rails 5.0.1。 这里发生了什么事?

谢谢

RVM为每个Ruby版本和gemset提供单独的gem目录。 这意味着必须为每个修订版和gemset显式安装gem。 通常迁移过程如下:

rvm use ruby-2.4.0 
# or `rvm --default use ruby-2.4.0` if you want to use 2.4.0 from now on
gem install rails -v 5.0.1 # an example, use any version you like
gem install bundler
bundle install # to install all other project gems

请参阅RVM gemsets文档页面

扩展@ Slava.K的答案

我有一个小测试应用程序,一切正常。 我决定将ruby升级到版本2.4.0,除了我认为我应该知道如何做以及由此产生的陷阱等,没有其他原因,所以这是一个学习练习。

  • 当您将ruby升级到2.4.0时,这将成为您的新ruby版本号,因此您将不会引用railsbundler
  • 你需要做gem install rails -v xxxgem install bundler
  • 现在当你执行rails -v ,这将打印给定Ruby的已安装rails的版本号。

将ruby更新到2.4.0之后,命令rails -v返回未安装的rails。 如果我然后恢复到旧的ruby 2.2.2 rvm使用ruby-2.2.2运行rails -v然后返回rails 5.0.1。 这里发生了什么事?

  • 正如我上面已经提到的,升级Ruby时必须安装rails。 因此没有安装rails,也没有要显示的版本号

  • gem env home => ../versions/jruby-1.7.12/lib/ruby/gems/shared
    • 将显示安装宝石的位置。
  • 我倾向于使用rbenv而不是rvm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM