gpt4 book ai didi

ruby-on-rails - 在 Windows 和 Linux/OS X 的 Gemfile 中指定不同的 Ruby 版本(例如 1.9.3 与 2.1)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:32:27 25 4
gpt4 key购买 nike

我在一个 Ruby on Rails 项目上,我们有 Windows 和 Linux 计算机。该项目使用 Ruby 2.1,但作为 windows 开发人员,我需要使用较低版本的 Ruby,如 ruby​​ 1.9.3 或 Ruby 2.0,以便顺利进行本地开发工作。

因此,为了自动基于平台为我的 Rails 项目实现自定义 Ruby 版本,我尝试修改 Gemfile 以便为每个平台隔离不同的 Gem 和 Ruby 版本:

platforms :ruby do # linux & Mac only
ruby '2.1.0' #doesn't work, still tries to load ruby 1.9.3
gem 'puma', '~> 2.7.1' #works
end

platforms :mswin do #Windows only
ruby '1.9.3' #doesn't work, overrides Linux/mac users to Ruby 1.9.3 rather than 2.1
gem 'thin' # works
end

platforms :rubyplatforms :mswin 显然只适用于指定 Gems,不适用于指定 Ruby 版本。如何设置我的本地 Windows 开发环境,以便我可以在同一个 Gemfile 中自动处理较低/不同的 Ruby 版本而不影响我的同事?

备注:

.rubyversion 读取 2.1.0 虽然我可以 .gitignore 这个文件为每个环境指定,但 Heroku 要求我们指定一个 Ruby Gemfile 中的版本——所以我们需要一些方法在 Gemfile 级别解决这个问题。

最佳答案

Gemfile 是用 Ruby 实现的 DSL,所以你可以在这里调用 Ruby 代码:

ruby RUBY_PLATFROM =~ /win/ ? '1.9.2' : '2.1.0'

关于ruby-on-rails - 在 Windows 和 Linux/OS X 的 Gemfile 中指定不同的 Ruby 版本(例如 1.9.3 与 2.1)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com