如何为项目设置特定的 Ruby 版本(无 rvm 和 rbenv)
Posted
技术标签:
【中文标题】如何为项目设置特定的 Ruby 版本(无 rvm 和 rbenv)【英文标题】:How to set specific Ruby version for projects(no rvm and rbenv) 【发布时间】:2019-09-03 03:34:48 【问题描述】:我在某个项目上工作,但有时我不得不为其他项目更改 Ruby 版本。现在,当我想回到第一个项目时,由于 Ruby 版本,我遇到了一些错误。问题是如何更改 Ruby 版本(目前我在 RVM 安装的 Ruby 2.5.1 上)并想回到 Ruby 2.4.5 但它不是通过 Rvm 或 Rbenv 安装的,只是干净安装。
我知道如何通过 Rvm 更改 Ruby 版本,但如何更改为未安装任何附加(Rvm 或 Rbenv)的版本
【问题讨论】:
【参考方案1】:见文档:https://rvm.io/gemsets/creating
https://rvm.io/gemsets/basics
如果您有多个项目使用不同的 ruby 版本,那么我们需要使用 rvm gemsets 来避免冲突。
要遵循的步骤:
rvm gemset create sriharsh
rvm use 2.2.1@sriharsh --create
rvm gemset list (to check list of gemsets)
rvm list (list of rvm rubbies)
但是,如果您使用的是 Bundler,则不需要使用 RVM Gemset。任何带有 bundle exec 的命令都会在项目的 Gemfile 的上下文中执行。
例如:
bundle exec rails s
【讨论】:
【参考方案2】:即使这不能直接回答您的问题,我还是建议不要同时使用 RVM Ruby 和系统 Ruby。 RVM 并非设计为以这种方式工作,并且这种安装引起的每个问题都很难调试,尤其是如果您是初学者。
因此,最简单的方法是完全删除系统 Ruby 并为您的其他项目创建第二个 RVM gemset。 (实际上,这就是 RVM 的用途。)
【讨论】:
以上是关于如何为项目设置特定的 Ruby 版本(无 rvm 和 rbenv)的主要内容,如果未能解决你的问题,请参考以下文章
使用 rvmrc 或 ruby-version 文件使用 RVM 设置项目 gemset?
如何在一个简单的非 Rails 项目中使用特定的 Ruby 版本