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

MacBook Air上JRuby安装Rails失败:无效IP地址或权限问题

JRuby 9.2.9.0安装Rails失败的解决办法

问题场景

在MacBook Air上使用JRuby 9.2.9.0执行jruby -S gem install rails安装Rails时,出现两个问题:

  1. FilenoUtil权限警告,提示需添加--add-opens java.base/sun.nio.ch=org.jruby.dist或=org.jruby.core参数
  2. 触发IPAddr::InvalidAddressError错误,提示invalid address

错误日志详情:

sathyadevarakonda@192 homebrew % which jruby
>/Users/sathyadevarakonda/.rvm/rubies/jruby-9.2.9.0/bin/jruby

sathyadevarakonda@192 homebrew % jruby -S gem install rails
>2024-09-23T11:59:25.699+05:30 [main] WARN FilenoUtil : Native subprocess control requires open access to sun.nio.ch
>Pass '--add-opens java.base/sun.nio.ch=org.jruby.dist' or '=org.jruby.core' to enable.
>ERROR:  While executing gem ... (IPAddr::InvalidAddressError)
>invalid address
>sathyadevarakonda@192 homebrew %

解决方案

1. 解决FilenoUtil权限警告

该警告由新版Java的模块访问限制导致,需给JRuby添加JVM参数:

  • 临时生效:直接在安装命令中添加参数
    jruby -J--add-opens java.base/sun.nio.ch=org.jruby.dist -S gem install rails
    
    也可以替换为=org.jruby.core参数,效果一致。
  • 永久生效:设置环境变量避免每次输入参数
    编辑你的shell配置文件(如~/.zshrc或~/.bash_profile),添加:
    export JRUBY_OPTS="--add-opens java.base/sun.nio.ch=org.jruby.dist"
    
    执行以下命令使配置生效:
    source ~/.zshrc  # zsh用户执行此命令
    # 或 source ~/.bash_profile bash用户执行此命令
    

2. 解决IPAddr::InvalidAddressError错误

这个错误通常是JRuby与RubyGems版本不兼容,或网络地址解析异常导致,按以下步骤处理:

  • 更新RubyGems到兼容版本:
    jruby -J--add-opens java.base/sun.nio.ch=org.jruby.dist -S gem update --system
    
  • 指定兼容的Rails版本安装:
    JRuby 9.2.9.0对应Ruby 2.5语法,推荐安装支持Ruby 2.5的Rails 6.1.x版本:
    jruby -J--add-opens java.base/sun.nio.ch=org.jruby.dist -S gem install rails -v 6.1.7.6
    
  • 检查hosts文件配置:
    打开/etc/hosts文件,检查是否存在格式错误的条目(如无对应域名的IP、无效IP地址等),修正后重试安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:42:47