You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JRuby 9.1.17.0执行bundle install时gem安装路径错误问题

可能的原因如下:

  • 项目级Bundler配置残留
    你此前使用jruby-9.2.19.0版本时在当前项目执行过bundle相关操作,Bundler会将指定的gem安装路径、Ruby解释器绑定配置写入项目根目录下的.bundle/config文件。Bundler读取配置时会优先使用项目本地配置,优先级高于全局gem环境配置,因此即使全局版本切换后,仍然会按照旧配置的路径安装gem。
    排查方式:检查.bundle/config文件中是否存在BUNDLE_PATH、BUNDLE_RUBY等指向旧版本路径的配置项,删除对应配置项或直接删除整个.bundle目录后重新执行bundle install即可。

  • RubyMine项目级SDK配置未更新
    RubyMine的全局默认解释器配置优先级低于单独项目的SDK绑定配置,仅修改全局默认版本不会自动同步到已创建的项目中。同时RubyMine的运行/调试配置也可以单独绑定指定的解释器版本,若配置未更新,执行命令时仍然会调用旧版本的JRuby及对应bundle程序。
    排查方式:打开文件 > 项目结构 > 项目设置 > 项目,确认当前项目绑定的SDK为jruby-9.1.17.0,同时检查运行/调试配置中bundle命令对应的解释器版本是否正确。

  • 系统环境变量残留
    若你此前安装jruby-9.2.19.0时配置过GEM_HOME、GEM_PATH系统环境变量,且未随版本卸载同步删除,会直接覆盖gem env的默认配置。另外若PATH环境变量中旧版JRuby的bin目录排序在新版之前,你执行bundle命令时实际调用的是旧版本JRuby下的bundle可执行文件,自然会按照旧版本的路径规则安装gem。
    排查方式:Windows环境下执行echo %GEM_HOME%、echo %PATH%检查对应变量值,删除旧版本相关的配置项后重启终端再尝试。

  • Gemfile显式版本约束
    检查项目Gemfile头部是否存在JRuby版本约束配置,例如ruby '2.3.3', engine: 'jruby', engine_version: '9.2.19.0',Bundler会优先匹配该约束对应的运行环境,当本地运行的版本不匹配时,会自动创建对应版本的目录存放gem。

  • 版本管理器配置残留
    如果你使用了Ruby版本管理工具(如RVM、rbenv、pik等),检查项目根目录下是否存在.ruby-version、.rvmrc这类版本指定文件,若文件内指定的版本为jruby-9.2.19.0,版本管理器会在你进入项目目录时自动切换到旧版本,导致后续安装路径异常。

内容的提问来源于stack exchange,提问作者Pro_grammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:54:01