{"id":24266082,"url":"https://github.com/stex/rubygems-no-method-error-example","last_synced_at":"2026-05-10T18:19:05.504Z","repository":{"id":146733407,"uuid":"484424379","full_name":"stex/rubygems-no-method-error-example","owner":"stex","description":"Example project for https://github.com/rubygems/rubygems/issues/5422 using sorbet as error causing gem","archived":false,"fork":false,"pushed_at":"2022-04-22T12:41:09.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T11:30:39.436Z","etag":null,"topics":["nomethoderror","sorbet","sorbet-static"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-22T12:24:58.000Z","updated_at":"2022-04-22T12:36:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed350d9e-dc36-4869-8735-1cca938dd3ff","html_url":"https://github.com/stex/rubygems-no-method-error-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stex%2Frubygems-no-method-error-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stex%2Frubygems-no-method-error-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stex%2Frubygems-no-method-error-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stex%2Frubygems-no-method-error-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stex","download_url":"https://codeload.github.com/stex/rubygems-no-method-error-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241947452,"owners_count":20047198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nomethoderror","sorbet","sorbet-static"],"created_at":"2025-01-15T10:59:16.415Z","updated_at":"2026-05-10T18:19:05.464Z","avatar_url":"https://github.com/stex.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"A minimum example to trigger the error described in https://github.com/rubygems/rubygems/issues/5422.\n\nThe `Gemfile.lock` was built with `force_ruby_platform` set to `true`.\n\n---\n\nI noticed the problem locally when trying to install `sorbet` (resp `sorbet-static`) \nin a Docker container on an Apple M1 mac:\n\n```\n❯ docker build .\n[+] Building 7.5s (10/10) FINISHED\n =\u003e [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                                                                                                                                                     0.0s\n =\u003e =\u003e transferring dockerfile: 164B                                                                                                                                                                                                                                                                                                                                                                                                                                                     0.0s\n =\u003e [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                                                                                                                                                        0.0s\n =\u003e =\u003e transferring context: 2B                                                                                                                                                                                                                                                                                                                                                                                                                                                          0.0s\n =\u003e [internal] load metadata for docker.io/library/ruby:3.1.2                                                                                                                                                                                                                                                                                                                                                                                                                            1.1s\n =\u003e [auth] library/ruby:pull token for registry-1.docker.io                                                                                                                                                                                                                                                                                                                                                                                                                              0.0s\n =\u003e [internal] load build context                                                                                                                                                                                                                                                                                                                                                                                                                                                        3.4s\n =\u003e =\u003e transferring context: 30.92kB                                                                                                                                                                                                                                                                                                                                                                                                                                                     3.3s\n =\u003e [1/5] FROM docker.io/library/ruby:3.1.2@sha256:e75f1da5372940f6997c94c9c48db8e4292fb625ca49035fa53e7e5b9124d6fb                                                                                                                                                                                                                                                                                                                                                                      0.0s\n =\u003e CACHED [2/5] WORKDIR /app                                                                                                                                                                                                                                                                                                                                                                                                                                                            0.0s\n =\u003e [3/5] COPY ./ ./                                                                                                                                                                                                                                                                                                                                                                                                                                                                     0.2s\n =\u003e [4/5] RUN bundle config set --local path '/gems'                                                                                                                                                                                                                                                                                                                                                                                                                                     0.3s\n =\u003e ERROR [5/5] RUN bundle install                                                                                                                                                                                                                                                                                                                                                                                                                                                       2.4s\n------\n \u003e [5/5] RUN bundle install:\n#10 0.271 Bundler 2.3.7 is running, but your lockfile was generated with 2.3.11. Installing Bundler 2.3.11 and restarting using that version.\n#10 1.352 Fetching gem metadata from https://rubygems.org/.\n#10 1.385 Fetching bundler 2.3.11\n#10 1.501 Installing bundler 2.3.11\n#10 2.072 Fetching gem metadata from https://rubygems.org/.\n#10 2.275 Resolving dependencies...\n#10 2.288 Your lockfile was created by an old Bundler that left some things out.\n#10 2.288 Because of the missing DEPENDENCIES, we can only install gems one at a time, instead of installing 5 at a time.\n#10 2.288 You can fix this by adding the missing gems to your Gemfile, running bundle install, and then removing the gems from your Gemfile.\n#10 2.288 The missing gems are:\n#10 2.288 * sorbet-static depended upon by sorbet\n#10 2.288 Using bundler 2.3.11\n#10 2.289 Fetching sorbet 0.5.9889\n#10 2.358 Installing sorbet 0.5.9889\n#10 2.387 --- ERROR REPORT TEMPLATE -------------------------------------------------------\n#10 2.387\n#10 2.387 ```\n#10 2.387 NoMethodError: undefined method `full_name' for nil:NilClass\n#10 2.387\n#10 2.387   warning \u003c\u003c \"* #{unmet_spec_dependency}, depended upon #{spec.full_name}, unsatisfied by #{@specs.find {|s| s.name == unmet_spec_dependency.name \u0026\u0026 !unmet_spec_dependency.matches_spec?(s.spec) }.full_name}\"\n#10 2.387                                                                                                                                                                                                    ^^^^^^^^^^\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:124:in `block (2 levels) in check_for_unmet_dependencies'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:123:in `each'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:123:in `block in check_for_unmet_dependencies'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:122:in `each'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:122:in `check_for_unmet_dependencies'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:100:in `call'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer/parallel_installer.rb:71:in `call'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer.rb:259:in `install_in_parallel'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer.rb:209:in `install'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer.rb:89:in `block in run'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/process_lock.rb:12:in `block in lock'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/process_lock.rb:9:in `open'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/process_lock.rb:9:in `lock'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer.rb:71:in `run'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/installer.rb:23:in `install'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/cli/install.rb:62:in `run'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/cli.rb:255:in `block in install'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/settings.rb:131:in `temporary'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/cli.rb:254:in `install'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/cli.rb:31:in `dispatch'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/cli.rb:25:in `start'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/exe/bundle:48:in `block in \u003ctop (required)\u003e'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'\n#10 2.387   /gems/ruby/3.1.0/gems/bundler-2.3.11/exe/bundle:36:in `\u003ctop (required)\u003e'\n#10 2.387   /usr/local/bin/bundle:25:in `load'\n#10 2.387   /usr/local/bin/bundle:25:in `\u003cmain\u003e'\n#10 2.387 ```\n#10 2.387\n#10 2.387 ## Environment\n#10 2.387\n#10 2.387 ```\n#10 2.387 Bundler       2.3.11\n#10 2.387   Platforms   ruby, aarch64-linux\n#10 2.387 Ruby          3.1.2p20 (2022-04-12 revision 4491bb740a9506d76391ac44bb2fe6e483fec952) [aarch64-linux]\n#10 2.387   Full Path   /usr/local/bin/ruby\n#10 2.387   Config Dir  /usr/local/etc\n#10 2.387 RubyGems      3.3.7\n#10 2.387   Gem Home    /gems/ruby/3.1.0\n#10 2.387   Gem Path    /gems/ruby/3.1.0\n#10 2.387   User Home   /root\n#10 2.387   User Path   /root/.local/share/gem/ruby/3.1.0\n#10 2.387   Bin Dir     /gems/ruby/3.1.0/bin\n#10 2.387 OpenSSL\n#10 2.387   Compiled    OpenSSL 1.1.1n  15 Mar 2022\n#10 2.387   Loaded      OpenSSL 1.1.1n  15 Mar 2022\n#10 2.387   Cert File   /usr/lib/ssl/cert.pem\n#10 2.387   Cert Dir    /usr/lib/ssl/certs\n#10 2.387 Tools\n#10 2.387   Git         2.30.2\n#10 2.387   RVM         not installed\n#10 2.387   rbenv       not installed\n#10 2.387   chruby      not installed\n#10 2.387 ```\n#10 2.387\n#10 2.387 ## Bundler Build Metadata\n#10 2.387\n#10 2.387 ```\n#10 2.387 Built At          2022-04-07\n#10 2.387 Git SHA           9b6c5a801a\n#10 2.387 Released Version  true\n#10 2.387 ```\n#10 2.387\n#10 2.387 ## Bundler settings\n#10 2.387\n#10 2.387 ```\n#10 2.387 app_config\n#10 2.387   Set via BUNDLE_APP_CONFIG: \"/usr/local/bundle\"\n#10 2.387 path\n#10 2.387   Set for your local app (/usr/local/bundle/config): \"/gems\"\n#10 2.387 silence_root_warning\n#10 2.387   Set via BUNDLE_SILENCE_ROOT_WARNING: true\n#10 2.387 ```\n#10 2.387\n#10 2.387 ## Gemfile\n#10 2.387\n#10 2.387 ### Gemfile\n#10 2.387\n#10 2.387 ```ruby\n#10 2.387 source \"https://rubygems.org\"\n#10 2.387 git_source(:github) { |repo| \"https://github.com/#{repo}.git\" }\n#10 2.387\n#10 2.387 ruby \"3.1.2\"\n#10 2.387\n#10 2.387 group :development do\n#10 2.387   gem \"sorbet\", \"0.5.9889\"\n#10 2.387 end\n#10 2.387 ```\n#10 2.387\n#10 2.387 ### Gemfile.lock\n#10 2.387\n#10 2.387 ```\n#10 2.387 GEM\n#10 2.387   remote: https://rubygems.org/\n#10 2.387   specs:\n#10 2.387     sorbet (0.5.9889)\n#10 2.387       sorbet-static (= 0.5.9889)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-14)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-15)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-16)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-17)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-18)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-19)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-20)\n#10 2.387     sorbet-static (0.5.9889-universal-darwin-21)\n#10 2.387     sorbet-static (0.5.9889-x86_64-linux)\n#10 2.387\n#10 2.387 PLATFORMS\n#10 2.387   ruby\n#10 2.387\n#10 2.387 DEPENDENCIES\n#10 2.387   sorbet (= 0.5.9889)\n#10 2.387\n#10 2.387 RUBY VERSION\n#10 2.387    ruby 3.1.2p20\n#10 2.387\n#10 2.387 BUNDLED WITH\n#10 2.387    2.3.11\n#10 2.387 ```\n#10 2.387\n#10 2.387 --- TEMPLATE END ----------------------------------------------------------------\n#10 2.387\n#10 2.387 Unfortunately, an unexpected error occurred, and Bundler cannot continue.\n#10 2.388\n#10 2.388 First, try this link to see if there are any existing issue reports for this error:\n#10 2.388 https://github.com/rubygems/rubygems/search?q=undefined+method+%60full_name%27+for+nil+NilClass\u0026type=Issues\n#10 2.388\n#10 2.388 If there aren't any reports for this error yet, please fill in the new issue form located at https://github.com/rubygems/rubygems/issues/new?labels=Bundler\u0026template=bundler-related-issue.md, and copy and paste the report template above in there.\n------\nexecutor failed running [/bin/sh -c bundle install]: exit code: 1\n```\n\nIt turned out, there simply is no gem version of `sorbet-static` for `aarch64-linux`\nwhich caused bundler to crash itself.\n\nIf anyone should make it here with the same problem through Google:\nAs my Docker images are mainly used in CI (which is `amd64`), I simply\ndisabled installing sorbet in containers on M1 macs completely.\n\n```ruby\n# Gemfile\n\ninstall_if -\u003e { RUBY_PLATFORM != \"aarch64-linux\" } do\n  gem \"sorbet\", \"0.5.9889\"\nend\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstex%2Frubygems-no-method-error-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstex%2Frubygems-no-method-error-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstex%2Frubygems-no-method-error-example/lists"}