簡體   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