我已经从 rvm 切换到 asdf 并且需要类似于 rvm 中的 gemsets 的行为。我有两个包含同一个项目的文件夹 - 一个包含旧版本,一个包含最新版本。它们具有相同的红宝石版本,但某些宝石的版本不同。是否可以在 asdf 中使用例如 ruby 2.6 并在两个项目上运行 bundle 而不必担心冲突?
问问题
1163 次
2 回答
2
请记住,Gemfile
并且Gemfile.lock
应该可以安装同一个 gem 的多个版本,并且将根据所描述的任何约束选择正确的版本。
唯一需要强制使用单个版本的情况是在处理命令行工具(例如rails
或rake
)时,在任何给定时间只有一个可以处于活动状态。
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 回答