[英]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.