Rails 7控制台调用Ruby标准类Matrix/Vector报NameError求助
问题解决:Rails 7中无法加载Matrix/Vector类
核心原因
Ruby 3.1.x 版本开始,Matrix 和 Vector 从Ruby标准库(stdlib)中拆分出来,成为独立的 matrix gem。你之前在Rails 4/5中能正常使用,是因为当时所用的Ruby版本(低于3.1)还将这两个类包含在默认标准库内。纯irb环境能使用,大概率是全局gem环境中已经安装了matrix gem,而你的Rails项目bundle环境并未引入。和Zeitwerk自动加载机制无关,核心是Ruby版本升级带来的标准库拆分变化。
解决步骤
- 在项目的
Gemfile中添加如下内容:gem 'matrix' - 执行终端命令完成安装:
bundle install - 重启Rails控制台后,即可正常使用
Matrix或Vector类,无需额外手动require(bundle会自动处理依赖加载)
内容的提问来源于stack exchange,提问作者Oleg Antonyan
相关产品推荐
相关产品推荐

