bin/rails aborted! with stacktrace involving prism and bundled_gems.rb
未关闭
还没有人认领这个 Issue。
- 主要语言
- HTML
- 星标
- 32
- 派生
- 5
- 平均合并
- 14 小时 17 分钟
- 30 天内合并 PR
- 1
描述
When using the snap on Ubuntu 24.04.3, then installing rails, then creating a new rails project causes crash/error stacktrace (see below).
Steps to reproduce the problem
- Install ruby with
sudo snap install ruby --classic gem install rails, which by default goes into~/.gem- Running
rails new storewill displaybin/rails aborted!and a stacktrace that I'll paste below - The project does get created, but running any of the following will crash with a similar stacktrace:
bin/rails serverbin/rails db:create
Expected behavior
No stacktrace.
Actual behavior
The commands do no succeed and produce the following:
/snap/ruby/438/lib/ruby/3.4.0/prism.rb:83: warning: already initialized constant Prism::BACKEND
/snap/ruby/438/lib/ruby/3.4.0/prism.rb:83: warning: previous definition of BACKEND was here
/snap/ruby/438/lib/ruby/3.4.0/prism.rb:83: warning: already initialized constant Prism::BACKEND
/snap/ruby/438/lib/ruby/3.4.0/prism.rb:83: warning: previous definition of BACKEND was here
/snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require': NameError
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require'
from /snap/ruby/438/lib/ruby/3.4.0/prism.rb:85:in '<top (required)>'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require'
from ~/.gem/gems/rubocop-ast-1.47.1/lib/rubocop/ast.rb:4:in '<top (required)>'
from ~/.gem/gems/rubocop-ast-1.47.1/lib/rubocop-ast.rb:3:in 'Kernel#require_relative'
from ~/.gem/gems/rubocop-ast-1.47.1/lib/rubocop-ast.rb:3:in '<top (required)>'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require'
from ~/.gem/gems/rubocop-1.81.7/lib/rubocop.rb:19:in '<top (required)>'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'Kernel.require'
from /snap/ruby/438/lib/ruby/3.4.0/bundled_gems.rb:82:in 'block (2 levels) in Kernel#replace_require'
from ~/.gem/gems/rubocop-1.81.7/exe/rubocop:14:in '<top (required)>'
from ~/.gem/bin/rubocop:25:in 'Kernel#load'
from ~/.gem/bin/rubocop:25:in '<main>'
Ubuntu version
Ubuntu 24.04.3 LTS
Kernel version
Linux 6.14.0-34-generic
Ruby version
ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
Rails version
Rails 8.1.1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
在 Ubuntu 24.04.3 上使用列出的 snap、gem install 和 Rails 命令复现该故障,然后将 prism.rb 和 bundled_gems.rb 中的 stacktrace 路径与 rubocop-ast 的加载路径进行比较。当 rails new、bin/rails server 和 bin/rails db:create 能够在没有 Prism 警告或 NameError 的情况下运行时,工作即完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rails, ruby, ubuntu
- 领域
- devops, operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100