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

如何让OSX High Sierra上的Ruby读取正确的Gems

解决OSX High Sierra上Ruby脚本的环境版本冲突问题

看起来你遇到了Ruby环境版本不匹配的问题——你用rbenv管理的是2.5.0版本,但脚本实际执行时却调用了系统自带的2.3.0版本,从终端输出的路径就能明显看出来:

MacBook-Pro:DTT jon$ ./run_test.command -h -v
-----
Ruby Version : 2.5.0
Gem Path : /Users/jon/.gem/ruby/2.5.0 /Users/jon/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0
-----
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_...

问题根源

虽然你的shell环境里Ruby版本是2.5.0,但run_test.command脚本可能没有继承这个环境,而是直接调用了系统默认的Ruby路径,导致加载了2.3.0的gem库,从而引发报错。

具体修复步骤

  • 检查脚本的shebang行:打开run_test.command,看开头的第一行是不是#!/usr/bin/env ruby。如果是硬编码的系统Ruby路径(比如#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby),改成#!/usr/bin/env ruby,这样脚本会优先使用你shell环境中配置的Ruby版本。
  • 确保rbenv正确初始化:检查你的shell配置文件(比如.bash_profile、.zshrc,取决于你用的shell),确认是否有这行代码:
    eval "$(rbenv init -)"
    
    如果没有,添加进去后重启终端,再输入ruby -v确认版本是2.5.0,然后重新运行脚本。
  • 锁定当前目录的Ruby版本:在脚本所在的DTT目录下执行rbenv local 2.5.0,这样进入该目录时会自动切换到2.5.0版本,避免版本切换问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:43:26