繁体   English   中英

如何在 asdf 中的同一个 ruby​​ 版本上使用同一个 gem 的两个版本?

[英]How to use two versions of the same gem on the same ruby version in asdf?

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

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

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

Gemset 是 Bundler 和Gemfile之前的副产品。

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

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


BUNDLED WITH
   1.17.3

把这个添加到Gemfile.lock后,你cd出rails项目文件夹,然后cd回来,你可以通过asdf检查bundler版本是否改变了。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM