如何仅为单个项目切换我的 Ruby 版本?

Posted

技术标签:

【中文标题】如何仅为单个项目切换我的 Ruby 版本?【英文标题】:How do I switch my Ruby version for a single project only? 【发布时间】:2018-06-02 08:35:51 【问题描述】:

我读到 rbenv 只能用于为单个项目切换 Ruby 环境。我的系统上安装了 Ruby 2.4,但我只想将 2.3 版用于特定项目。我认为使用“rbenv local”可以治愈疼痛,但它并没有......

localhost:myproject davea$ rbenv local 2.3.0
localhost:myproject davea$ bundle install
Your Ruby version is 2.4.0, but your Gemfile specified 2.3.0
localhost:myproject davea$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]

如何仅将 Ruby 2.3 用于该项目?

【问题讨论】:

你可以试试rbenv local 2.3.0 && cd ~ && cd - && bundle install。我以为rbenv local 只是相应地设置了你的 .ruby-version 文件 @Anthony,当我运行该命令时,它显示我的系统上什至没有安装 ruby​​ 2.3。解决这个问题确实解决了我在问题中描述的问题。 酷 - 如果这对你有用,我会写一个快速的答案? @Anthony,加油! 【参考方案1】:

这是 linux 或 WSL 发行版的最佳解决方案

首先检查你可以下载哪些版本

rbenv install -l

然后安装它

rbenv install 2.6.6

现在您已经安装了一个版本来检查您拥有的所有版本:

rbenv versions 

然后要使用它,您可以在特定项目中本地设置它:

rbenv local 2.6.6

或全局

rbenv global 2.6.6

安装后,您可以创建一个带有rails new ==> 自动设置为 ruby​​ global 的项目

如果项目已经创建,有两种方法

手动修改: .ruby-version 到您的全球版本 在项目rbenv local 2.6.6的文件夹中运行

【讨论】:

【参考方案2】:

如果你有 gemfile,你也可以添加 红宝石'2.3.1' 在里面告诉你的系统使用那个 ruby​​ 版本。

【讨论】:

【参考方案3】:

rbenv local 仅在您的当前目录中设置一个.ruby-version 文件,它也不会为您加载该版本。您需要设置它,然后 cd .. && cd - 让 rbenv shim 获取该版本。

【讨论】:

rbenv local VERSION 通常会立即拿起它。

以上是关于如何仅为单个项目切换我的 Ruby 版本?的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?

如何在一个简单的非 Rails 项目中使用特定的 Ruby 版本

如何找出项目使用的 Ruby 版本 + Github

如何在单个项目中使用多个版本的 Apollo 客户端

即使启用了 Web 支持,如何仅为 android 和 IOS 创建颤振项目?

Ruby 未安装在 Rails 项目上