[英]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 而不必担心冲突?
请记住, Gemfile
和Gemfile.lock
应该可以安装同一个 gem 的多个版本,并且将根据描述的任何约束选择正确的版本。
您唯一需要强制使用单个版本的时间是在处理命令行工具(例如rails
或rake
)时,在任何给定时间只有一个可以处于活动状态。
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.