ruby - Bundler 1.2.0 ruby​​ 版本检查是否不需要基本的 .rvmrc 文件?

标签 ruby rvm bundler

Bundler 1.2.0.pre 包括一个新的“ruby”DSL 选项。根据Heroku's documentation ,他们使用这种新的 Gemfile 语法来控制在您推送应用程序时使用哪个 ruby​​ 版本。

作为预发布版,新 Bundler 选项的文档目前还很少,而且 Bundler 1.2 roadmap简单地将其列为“ruby 版本检查”。

我的问题是:目前我在我的大部分项目中使用单行 .rvmrc 文件,其中我只指定该项目的 ruby​​ 版本(例如 rvm ruby​​-1.9.3 ).我不使用 RVM gemsets 或其他任何东西(我更喜欢在项目中供应所有必需的 gem,并让 Bundler 管理依赖项)。

考虑到我简单的 RVM 配置,Bundler 的 DSL 中新的“ruby”选项是否意味着我根本不再需要指定 .rvmrc 文件?或者它们是两个不同的东西?

(我很喜欢这样一个事实,当我 cd 进入我的项目时,RVM 会自动切换 ruby​​ 版本……不确定 Bundler 是否会这样做,或者它是否只是在当前版本不匹配时发出警告?)

最佳答案

新的 ruby 是一个函数,它允许任何最终计算为字符串的东西。

不幸的是,阅读它你需要使用一个 bundler 命令,它假定你已经有一个 ruby​​。

相反,RVM 为您提供了两种在 Gemfile 中定义 ruby​​ 的方法:

1) ruby "1.9.3" - 简单字符串

2) #ruby=1.9.3-p125 - 当你想为 ruby 使用 ruby​​ 代码或当你想指定 patchlevel 或 gemset 时的评论!:

#ruby=1.9.3
ruby ENV['RUBY_VERSION'] || '1.9.3'

将允许 bundler 与 RVM 加载的任何 ruby​​ 一起工作,但默认情况下将使用来自 #ruby=

1.9.3

关于ruby - Bundler 1.2.0 ruby​​ 版本检查是否不需要基本的 .rvmrc 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778304/

相关文章:

ruby - 在带有 rvm 和 ruby​​ 1.9.3 的 Mac Lion 上构建 mysql2 gem 时出错

ruby - 这些 rvm ruby​​ 版本是什么意思

ruby-on-rails-3 - rails s 或 bundle exec rails s

ruby - bundle 安装失败,安装 unf_ext (0.0.6) 时出现错误

ruby - 让 bundler 使用 http : instead of git:?

ruby - Vim 命令-t 插件,Mac OS Sierra 10.12.6 : could not load C extension

ruby-on-rails - attr_accessor 和 attr_reader 在 Rails 4 中不起作用

ruby - 为什么我不能用 gsub 替换字符串中的 '\\+'?

ruby - 如何检索 nokogiri 处理指令属性?

ruby - 如何在运行 10.6 的 Macbook Pro i7 上修复此 RVM 错误