JRuby 不会在正确的路径中安装 gems

JRuby won't install gems in correct path

我在尝试安装 gem 文件中列出的 gem 时遇到问题。我有一个较新版本的 JRuby jruby-9.2.19.0 但最终卸载了这个版本并下载了 jruby-9.1.17.0 版本并将其设置为默认解释器。

使用 gem env 检查 environment/path 设置后,我可以看到以下信息:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.6.14.1
  - RUBY VERSION: 2.3.3 (2018-04-20 patchlevel 0) [java]
  - INSTALLATION DIRECTORY: C:/jruby-9.1.17.0/lib/ruby/gems/shared
  - USER INSTALLATION DIRECTORY: C:/Users/(my_name)/.gem/jruby/2.3.0
  - RUBY EXECUTABLE: C:/jruby-9.1.17.0/bin/jruby.exe
  - EXECUTABLE DIRECTORY: C:/jruby-9.1.17.0/bin
  - SPEC CACHE DIRECTORY: C:/Users/(my_name)/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: C:/jruby-9.1.17.0/etc

所以安装目录是正确的:

C:/jruby-9.1.17.0/lib/ruby/gems/shared

符合预期。

但是当我 运行:

bundle install 该命令最终会创建一个名为 jruby-9.2.19.0 的新目录,并将 gem 安装到路径中:C:\jruby-9.2.19.0\lib\ruby\gems\shared\gems\jruby.3.0

我在 RubyMine 本身中尝试 Invalidating Caches 但没有帮助。

即使 gem 环境具有正确的路径,JRuby/RubyMine 也不会安装在正确的目录中,这可能导致此问题的原因是什么?

经过几天的尝试,我使用了 bundle config 文档,其中说使用 bundle config list 查看设置的配置。

通过这个,我发现 bundler 已经为 gem 的安装位置设置了一个路径。

删除配置后,一切正常!