0

我已经从 rvm 切换到 asdf 并且需要类似于 rvm 中的 gemsets 的行为。我有两个包含同一个项目的文件夹 - 一个包含旧版本,一个包含最新版本。它们具有相同的红宝石版本,但某些宝石的版本不同。是否可以在 asdf 中使用例如 ruby​​ 2.6 并在两个项目上运行 bundle 而不必担心冲突?

4

2 回答 2

2

请记住,Gemfile并且Gemfile.lock应该可以安装同一个 gem 的多个版本,并且将根据所描述的任何约束选择正确的版本。

唯一需要强制使用单个版本的情况是在处理命令行工具(例如railsrake)时,在任何给定时间只有一个可以处于活动状态。

Gemsets 是 Bundler 和Gemfile.

于 2019-12-12T19:41:52.973 回答
0

我刚刚遇到了同样的问题。我通过在 Gemfile.lock 中添加以下行解决了这个问题。但请注意,有时需要在 BUNDLED WITH 部分之前添加两个空行(没有任何空格)。

GEM
  remote: https://rubygems.org/
  specs:


BUNDLED WITH
   1.17.3

将此添加到 Gemfile.lock 后,您 cd 退出 rails 项目文件夹,然后 cd 重新进入,您可以通过 asdf 检查 bundler 版本是否已更改。

希望这可以帮助。

于 2020-05-28T00:12:07.760 回答