如何使用 rvm 在 rails 应用程序上升级 ruby 版本的 ruby
How to upgrade ruby version of ruby on rails app using rvm
如何使用 rvm 在 rails 应用程序上安全地升级我的 ruby 以使用新的 ruby 版本?
假设您的应用程序是 my_app 并且您正在使用 ruby 版本 a.b.c 并且想要转到 ruby 版本 x.y.z.
步骤 0
开始之前,请确保您拥有最新版本的 rvm
rvm get stable
rvm reload
步骤 1
首先,如果您没有当前 ruby 版本的 gemset,请创建一个并将其设为默认值。如果您的升级破坏了您的测试,这为您提供了一种简单的返回方法。如果您不想这样做,请转到步骤 2。
rvm gemset create my_app_abc
切换到该 gemset 并将 gem 安装到该 gemset 中,并使其成为目录的默认 gemset
rvm a.b.c@my_app_abc
bundle
rvm --ruby-version use a.b.c@my_app_abc
步骤 2
现在升级到新的 ruby 版本并为其创建一个 gemset。
rvm install x.y.z
rvm use x.y.z
rvm gemset create my_app_xyz
rvm x.y.z@my_app_xyz
在 Gemfile 中指定 ruby 版本被认为是最佳实践,因此
确保你的 Gemfile 顶部有 ruby 'x.y.z'
。那么
gem install bundle
bundle
这就是乐趣开始的地方,此时您可能会遇到错误,并结合使用错误说明或谷歌搜索寻求帮助等方法来解决它们。当您可以成功捆绑时,然后 运行 您所有的测试。
当您的测试全部通过后,您就升级成功了。如果遇到问题,可以使用 rvm a.b.c@my_app_abc
.
返回到旧安装
一旦您对新安装感到满意,然后执行
rvm --ruby-version use x.y.z@my_app_xyz
将其设为该应用的默认设置。这意味着当您从其他项目切换到此应用程序时,它将自动加载 ruby 版本 x.y.z 和相应的 gemset。
根据此 blog,如果您总是在命令前加上 bundle exec
,则不需要使用 gemset。在那种情况下,你只需做
rvm --ruby-version use x.y.z
如何使用 rvm 在 rails 应用程序上安全地升级我的 ruby 以使用新的 ruby 版本?
假设您的应用程序是 my_app 并且您正在使用 ruby 版本 a.b.c 并且想要转到 ruby 版本 x.y.z.
步骤 0
开始之前,请确保您拥有最新版本的 rvm
rvm get stable
rvm reload
步骤 1
首先,如果您没有当前 ruby 版本的 gemset,请创建一个并将其设为默认值。如果您的升级破坏了您的测试,这为您提供了一种简单的返回方法。如果您不想这样做,请转到步骤 2。
rvm gemset create my_app_abc
切换到该 gemset 并将 gem 安装到该 gemset 中,并使其成为目录的默认 gemset
rvm a.b.c@my_app_abc
bundle
rvm --ruby-version use a.b.c@my_app_abc
步骤 2
现在升级到新的 ruby 版本并为其创建一个 gemset。
rvm install x.y.z
rvm use x.y.z
rvm gemset create my_app_xyz
rvm x.y.z@my_app_xyz
在 Gemfile 中指定 ruby 版本被认为是最佳实践,因此
确保你的 Gemfile 顶部有 ruby 'x.y.z'
。那么
gem install bundle
bundle
这就是乐趣开始的地方,此时您可能会遇到错误,并结合使用错误说明或谷歌搜索寻求帮助等方法来解决它们。当您可以成功捆绑时,然后 运行 您所有的测试。
当您的测试全部通过后,您就升级成功了。如果遇到问题,可以使用 rvm a.b.c@my_app_abc
.
一旦您对新安装感到满意,然后执行
rvm --ruby-version use x.y.z@my_app_xyz
将其设为该应用的默认设置。这意味着当您从其他项目切换到此应用程序时,它将自动加载 ruby 版本 x.y.z 和相应的 gemset。
根据此 blog,如果您总是在命令前加上 bundle exec
,则不需要使用 gemset。在那种情况下,你只需做
rvm --ruby-version use x.y.z