ruby / ruby/snap.ruby

bin/rails aborted! with stacktrace involving prism and bundled_gems.rb

未關閉
#44 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 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

  1. Install ruby with sudo snap install ruby --classic
  2. gem install rails, which by default goes into ~/.gem
  3. Running rails new store will display bin/rails aborted! and a stacktrace that I'll paste below
  4. The project does get created, but running any of the following will crash with a similar stacktrace:
  • bin/rails server
  • bin/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

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。