warning: already initialized constant SSHKit::StandardError
まだ誰も着手していません。
評価
調査の方向性
警告で示されているエントリポイント lib/sshkit.rb から始め、Ruby 3.3.5 で kamal/lib/kamal/sshkit_with_ext.rb を通る読み込み経路を追跡します。gem の読み込みを再現し、SSHKit::StandardError が二重に初期化されるタイミングを特定します。読み込み中に警告が表示されなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
it seems there is a constant being initialized twice
There was an error while trying to load the gem 'kamal'.
Gem Load Error is: /Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/sshkit-1.23.0/lib/sshkit.rb:3: warning: already initialized constant SSHKit::StandardError
Backtrace for gem load error is:
/Users/dorianmariefr/src/dorianmariecom/code/spec/spec_helper.rb:5:in `warn'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/sshkit-1.23.0/lib/sshkit.rb:3:in `<module:SSHKit>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/sshkit-1.23.0/lib/sshkit.rb:1:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/kamal-1.8.3/lib/kamal/sshkit_with_ext.rb:1:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/kamal-1.8.3/lib/kamal/cli/base.rb:3:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:26:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/kamal-1.8.3/lib/kamal/cli/accessory.rb:1:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:26:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/cref.rb:91:in `const_get'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/cref.rb:91:in `get'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:173:in `block in actual_eager_load_dir'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:47:in `block in ls'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:25:in `each'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/helpers.rb:25:in `ls'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:168:in `actual_eager_load_dir'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:17:in `block (2 levels) in eager_load'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:16:in `each'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:16:in `block in eager_load'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:10:in `synchronize'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/loader/eager_load.rb:10:in `eager_load'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/kamal-1.8.3/lib/kamal.rb:12:in `<top (required)>'
<internal:/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler/runtime.rb:60:in `block (2 levels) in require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler/runtime.rb:55:in `each'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler/runtime.rb:55:in `block in require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler/runtime.rb:44:in `each'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler/runtime.rb:44:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/bundler-2.5.18/lib/bundler.rb:212:in `require'
/Users/dorianmariefr/src/dorianmariecom/code/config/application.rb:7:in `<top (required)>'
/Users/dorianmariefr/src/dorianmariecom/code/config/environment.rb:3:in `require_relative'
/Users/dorianmariefr/src/dorianmariecom/code/config/environment.rb:3:in `<top (required)>'
/Users/dorianmariefr/src/dorianmariecom/code/spec/rails_helper.rb:7:in `require_relative'
/Users/dorianmariefr/src/dorianmariecom/code/spec/rails_helper.rb:7:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/zeitwerk-2.6.18/lib/zeitwerk/kernel.rb:34:in `require'
/Users/dorianmariefr/src/dorianmariecom/code/spec/requests/pages_controllers_spec.rb:3:in `<top (required)>'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/configuration.rb:2139:in `load'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/configuration.rb:2139:in `load_file_handling_errors'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/configuration.rb:1638:in `block in load_spec_files'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/configuration.rb:1636:in `each'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/configuration.rb:1636:in `load_spec_files'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/runner.rb:102:in `setup'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/runner.rb:86:in `run'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/runner.rb:71:in `run'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/lib/rspec/core/runner.rb:45:in `invoke'
/Users/dorianmariefr/.asdf/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/rspec-core-3.13.1/exe/rspec:4:in `<top (required)>'
bin/rspec:31:in `load'
bin/rspec:31:in `<main>'
- 主要言語
- Ruby
- スター
- 1.2k
- フォーク
- 256
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
capistrano/sshkit のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
capistrano/sshkit#563 · リアクション 6 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
capistrano/sshkit#562 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
capistrano/sshkit#554 · コメント 3 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
capistrano/sshkit#518 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
capistrano/sshkit#499 · コメント 1 件 ·
capistrano/sshkit の issue をすべて見る
似ている issue
-
feature
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
manyfold3d/manyfold#7346 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
🐞 bug pending triage
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
CircuitVerse/CircuitVerse#8025 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
we-promise/sure#4199 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
riscv/riscv-unified-db#2738 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
scanaislop/aislop#482 ·
メンテナーはふだん 1 日以内に返信