大家好,我想知道是否有人可以解释我遇到的问题,以便了解最新情况。
我目前正在运行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。这里发生了什么事?
由于
答案 0 :(得分:2)
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
答案 1 :(得分:1)
扩展@ Slava.K的回答
我有一个小测试应用程序,一切正常。我决定升级 ruby到版本2.4.0,除了我认为我应该知道的其他原因 如何做到这一点以及由此产生的陷阱等,这是一次学习练习。
rails
和bundler
。gem install rails -v x.x.x
和gem install
bundler
。 rails -v
时,会打印一个版本
给定Ruby的已安装rails的数量。将ruby更新到2.4.0后,命令rails -v正常 返回未安装的rails。如果我然后恢复到旧的红宝石2.2.2 rvm使用ruby-2.2.2运行rails -v然后返回rails 5.0.1。什么是 发生在这里?
gem env home
=> ../versions/jruby-1.7.12/lib/ruby/gems/shared
rvm