Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoMethodError: undefined method `full_name' for nil:NilClass #5088

Closed
melroy89 opened this issue Nov 24, 2021 · 18 comments · Fixed by #5092
Closed

NoMethodError: undefined method `full_name' for nil:NilClass #5088

melroy89 opened this issue Nov 24, 2021 · 18 comments · Fixed by #5092
Labels

Comments

@melroy89
Copy link

melroy89 commented Nov 24, 2021

Describe the problem as clearly as you can

Bundle install fails with "NoMethodError: undefined method `full_name' for nil:NilClass". I'm using GitLab Pipelines, but that shouldn't really matter. As long as you use Ruby Docker image.

Related issue, but already closed while NOT solved: #4922

Did you try upgrading rubygems & bundler?

Yes I tried Ruby 2.7 and Ruby 3.0 (stable) using Ruby official Docker images.

Both runs are using the same bundler version: v2.2.32

Output Ruby 2.7: https://gitlab.melroy.org/melroy/melroy-site/-/jobs/8978#L107

Output Ruby 3.0 https://gitlab.melroy.org/melroy/melroy-site/-/jobs/8979#L110

Post steps to reproduce the problem

Run a basic Jekyll init project, add the following plugins to the Gemfile:

  gem "jekyll-sitemap"
  gem "jekyll-seo-tag"
  gem "jemoji"

And run:

gem install bundler
bundle instal

And use Ruby Docker image for reproducibility.

Which command did you run?

bundle install

What were you expecting to happen?

No errors.

What actually happened?

NoMethodError: undefined method `full_name' for nil:NilClass
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:124:in `block (2 levels) in check_for_unmet_dependencies'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:123:in `each'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:123:in `block in check_for_unmet_dependencies'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:122:in `each'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:122:in `check_for_unmet_dependencies'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:100:in `call'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer/parallel_installer.rb:71:in `call'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer.rb:262:in `install_in_parallel'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer.rb:209:in `install'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer.rb:89:in `block in run'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/process_lock.rb:12:in `block in lock'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/process_lock.rb:9:in `open'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/process_lock.rb:9:in `lock'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer.rb:71:in `run'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/installer.rb:23:in `install'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli/install.rb:60:in `run'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:253:in `block in install'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/settings.rb:131:in `temporary'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:252:in `install'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:31:in `dispatch'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:25:in `start'
  /usr/local/bundle/gems/bundler-2.2.32/exe/bundle:49:in `block in <top (required)>'
  /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
  /usr/local/bundle/gems/bundler-2.2.32/exe/bundle:37:in `<top (required)>'
  /usr/local/bundle/bin/bundle:23:in `load'
  /usr/local/bundle/bin/bundle:23:in `<main>'

Environment

Bundler       2.2.32
  Platforms   ruby, x86_64-linux
Ruby          3.0.2p107 (2021-07-07 revision 0db68f023372b634603c74fca94588b457be084c) [x86_64-linux]
  Full Path   /usr/local/bin/ruby
  Config Dir  /usr/local/etc
RubyGems      3.2.22
  Gem Home    /builds/melroy/melroy-site/vendor/ruby/3.0.0
  Gem Path    /builds/melroy/melroy-site/vendor/ruby/3.0.0
  User Home   /root
  User Path   /root/.local/share/gem/ruby/3.0.0
  Bin Dir     /builds/melroy/melroy-site/vendor/ruby/3.0.0/bin
OpenSSL       
  Compiled    OpenSSL 1.1.1k  25 Mar 2021
  Loaded      OpenSSL 1.1.1k  25 Mar 2021
  Cert File   /usr/lib/ssl/cert.pem
  Cert Dir    /usr/lib/ssl/certs
Tools         
  Git         2.30.2
  RVM         not installed
  rbenv       not installed
  chruby      not installed

Bundler Build Metadata

Built At          2021-11-23
Git SHA           20d4957649
Released Version  true

Bundler settings

app_config
  Set via BUNDLE_APP_CONFIG: "/usr/local/bundle"
path
  Set for your local app (/usr/local/bundle/config): "vendor"
silence_root_warning
  Set via BUNDLE_SILENCE_ROOT_WARNING: true

Gemfile

Gemfile

source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.2.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
# gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
  gem "jekyll-feed", "~> 0.12"
  gem "jekyll-sitemap"
  gem "jekyll-seo-tag"
  gem "jemoji"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
  gem "tzinfo", "~> 1.2"
  gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    activesupport (6.1.4.1)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      tzinfo (~> 2.0)
      zeitwerk (~> 2.3)
    addressable (2.8.0)
      public_suffix (>= 2.0.2, < 5.0)
    colorator (1.1.0)
    concurrent-ruby (1.1.9)
    em-websocket (0.5.3)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0)
    eventmachine (1.2.7)
    ffi (1.15.4)
    forwardable-extended (2.6.0)
    gemoji (3.0.1)
    html-pipeline (2.14.0)
      activesupport (>= 2)
      nokogiri (>= 1.4)
    http_parser.rb (0.8.0)
    i18n (1.8.11)
      concurrent-ruby (~> 1.0)
    jekyll (4.2.1)
      addressable (~> 2.4)
      colorator (~> 1.0)
      em-websocket (~> 0.5)
      i18n (~> 1.0)
      jekyll-sass-converter (~> 2.0)
      jekyll-watch (~> 2.0)
      kramdown (~> 2.3)
      kramdown-parser-gfm (~> 1.0)
      liquid (~> 4.0)
      mercenary (~> 0.4.0)
      pathutil (~> 0.9)
      rouge (~> 3.0)
      safe_yaml (~> 1.0)
      terminal-table (~> 2.0)
    jekyll-feed (0.15.1)
      jekyll (>= 3.7, < 5.0)
    jekyll-sass-converter (2.1.0)
      sassc (> 2.0.1, < 3.0)
    jekyll-seo-tag (2.7.1)
      jekyll (>= 3.8, < 5.0)
    jekyll-sitemap (1.4.0)
      jekyll (>= 3.7, < 5.0)
    jekyll-watch (2.2.1)
      listen (~> 3.0)
    jemoji (0.12.0)
      gemoji (~> 3.0)
      html-pipeline (~> 2.2)
      jekyll (>= 3.0, < 5.0)
    kramdown (2.3.1)
      rexml
    kramdown-parser-gfm (1.1.0)
      kramdown (~> 2.0)
    liquid (4.0.3)
    listen (3.7.0)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    mercenary (0.4.0)
    minitest (5.14.4)
    nokogiri (1.12.5-x86_64-linux)
      racc (~> 1.4)
    pathutil (0.16.2)
      forwardable-extended (~> 2.6)
    public_suffix (4.0.6)
    racc (1.6.0)
    rb-fsevent (0.11.0)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    rexml (3.2.5)
    rouge (3.26.1)
    safe_yaml (1.0.5)
    sassc (2.4.0)
      ffi (~> 1.9)
    terminal-table (2.0.0)
      unicode-display_width (~> 1.1, >= 1.1.1)
    tzinfo (2.0.4)
      concurrent-ruby (~> 1.0)
    unicode-display_width (1.8.0)
    zeitwerk (2.5.1)
PLATFORMS
  x86_64-linux
DEPENDENCIES
  jekyll (~> 4.2.1)
  jekyll-feed (~> 0.12)
  jekyll-seo-tag
  jekyll-sitemap
  jemoji
  tzinfo (~> 1.2)
  tzinfo-data
  wdm (~> 0.1.1)
BUNDLED WITH
   2.2.32
@deivid-rodriguez
Copy link
Member

Thank you, I can repro this. I'll work on it.

@deivid-rodriguez
Copy link
Member

deivid-rodriguez commented Nov 24, 2021

May I ask how you generated that Gemfile.lock file? It includes the following

tzinfo (~> 1.2)

and also

  tzinfo (2.0.4)
    concurrent-ruby (~> 1.0)

Which are incompatible with each other.

It's also weird that it doesn't include blank lines between sections.

Did you maybe edit it directly? Or if not, which bundler commands did you run to generate it?

@deivid-rodriguez
Copy link
Member

Actually I just realized that previous bundler versions without this bug generate this lockfile, nevermind.

@melroy89
Copy link
Author

melroy89 commented Nov 24, 2021

Ps. I just run bundle install, I never ever edited the lock file manually.

I did try to remove the lock file to workaround the issue, but the lockfile automatically gets generated (as it should). But in the long run, this is a real bug.

@deivid-rodriguez
Copy link
Member

deivid-rodriguez commented Nov 24, 2021

Alright, I see what's going on now.

I thought bundler would automatically resolve all Gemfile platforms, but even if I wanted to introduce that feature, I ended up reverting it before releasing bundler 2.2.0 (see #4052 and linked issues/PRs).

Anyways, the current behaviour is to ignore dependencies for other platforms, but changes in bundler 2.2.32 made this regress. I'll fix this now to restore bundler 2.2.31 behaviour.

@deivid-rodriguez
Copy link
Member

I will release a new version quickly since I suspect this will bite a few people.

@melroy89
Copy link
Author

yeah, I also think this is not a pretty bug.

@melroy89
Copy link
Author

Also: try to introduce a test-case in GitHub Actions that fails with Bundler v0.2.32 and with your new change/release the test case succeed.

So you have a nice regression testcase for the future. Avoiding this problem occurring ever again in the future.

@kingdonb
Copy link

I still get this error running bundle install on a M1 mac against the kuby-core gem repository from getkuby/kuby-core; not sure what triggered the original error condition, but right now I am getting the same error with Monterey OS, running either Ruby 2.7.5 or 3.0.3 against bundler 2.2.33:

(I do not have any issues running the bundle install command against derived apps, or on other architectures... I don't see anything architecture-specific in Gemfile or kuby-core.gemspec and this isn't blocking anything really for me, I just found it curious and thought it would be worth reporting...)


NoMethodError: undefined method `full_name' for nil:NilClass
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:124:in `block (2 levels) in check_for_unmet_dependencies'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:123:in `each'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:123:in `block in check_for_unmet_dependencies'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:122:in `each'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:122:in `check_for_unmet_dependencies'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:100:in `call'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:71:in `call'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer.rb:262:in `install_in_parallel'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer.rb:209:in `install'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer.rb:89:in `block in run'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/process_lock.rb:9:in `open'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/process_lock.rb:9:in `lock'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer.rb:71:in `run'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/installer.rb:23:in `install'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/cli/install.rb:60:in `run'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/cli.rb:253:in `block in install'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/settings.rb:131:in `temporary'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/cli.rb:252:in `install'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/cli.rb:31:in `dispatch'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/cli.rb:25:in `start'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/exe/bundle:49:in `block in <top (required)>'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/gems/bundler-2.2.33/exe/bundle:37:in `<top (required)>'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/bin/bundle:23:in `load'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/bin/bundle:23:in `<main>'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `eval'
  /Users/kingdonb/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `<main>'

Environment

Bundler             2.2.33
  Platforms         ruby, arm64-darwin-21
Ruby                2.7.5p203 (2021-11-24 revision f69aeb83146be640995753667fdd6c6f157527f5) [arm64-darwin21]
  Full Path         /Users/kingdonb/.rvm/rubies/ruby-2.7.5/bin/ruby
  Config Dir        /Users/kingdonb/.rvm/rubies/ruby-2.7.5/etc
RubyGems            3.2.33
  Gem Home          /Users/kingdonb/.rvm/gems/ruby-2.7.5
  Gem Path          /Users/kingdonb/.rvm/gems/ruby-2.7.5:/Users/kingdonb/.rvm/rubies/ruby-2.7.5/lib/ruby/gems/2.7.0
  User Home         /Users/kingdonb
  User Path         /Users/kingdonb/.gem/ruby/2.7.0
  Bin Dir           /Users/kingdonb/.rvm/gems/ruby-2.7.5/bin
OpenSSL
  Compiled          OpenSSL 1.1.1l  24 Aug 2021
  Loaded            OpenSSL 1.1.1l  24 Aug 2021
  Cert File         /opt/homebrew/etc/openssl@1.1/cert.pem
  Cert Dir          /opt/homebrew/etc/openssl@1.1/certs
Tools
  Git               2.34.1
  RVM               1.29.12 (latest)
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.5)

Bundler Build Metadata

Built At          2021-12-07
Git SHA           9b5e2a350b
Released Version  true

Gemfile

Gemfile

source 'https://rubygems.org'

gemspec

group :development, :test do
  gem 'pry-byebug'
  gem 'rake'
  # lock to a specific version to prevent breaking CI when new versions come out
  gem 'sorbet', '= 0.5.6433'
end

group :test do
  gem 'rspec', '~> 3.0'
end

Gemfile.lock

<No /Users/kingdonb/projects/kuby/kuby-core/Gemfile.lock found>

Gemspecs

kuby-core.gemspec

$:.unshift File.expand_path('lib', __dir__)
require 'kuby/version'

Gem::Specification.new do |s|
  s.name     = 'kuby-core'
  s.version  = ::Kuby::VERSION
  s.authors  = ['Cameron Dutro']
  s.email    = ['camertron@gmail.com']
  s.homepage = 'http://github.com/getkuby/kuby-core'

  s.description = s.summary = 'Deploy your Rails app onto Kubernetes the easy way.'

  s.platform = Gem::Platform::RUBY

  s.add_dependency 'colorize', '~> 0.8'
  s.add_dependency 'docker-remote', '~> 0.6'
  s.add_dependency 'gli', '~> 2.0'
  s.add_dependency 'helm-cli', '~> 0.3'
  # See: https://github.com/Shopify/krane/pull/720
  # See: https://github.com/Shopify/krane/blob/master/CHANGELOG.md#114
  s.add_dependency 'krane', '>= 1.1.4', '< 2.0'
  s.add_dependency 'kuby-cert-manager', '>= 0.3'
  s.add_dependency 'kube-dsl', '~> 0.4'
  s.add_dependency 'kuby-kube-db', '>= 0.6'
  s.add_dependency 'kubernetes-cli', '~> 0.3'
  s.add_dependency 'railties', '>= 5.1'
  s.add_dependency 'rouge', '~> 3.0'
  s.add_dependency 'sorbet-runtime-stub', '~> 0.2'

  s.add_development_dependency 'rspec'

  s.require_path = 'lib'
  s.executables << 'kuby'

  s.files = Dir['{lib,spec}/**/*', 'Gemfile', 'LICENSE', 'CHANGELOG.md', 'README.md', 'Rakefile', 'kuby-core.gemspec']
end

@deivid-rodriguez
Copy link
Member

I can reproduce this, thanks for letting me know. Let me have a look!

@deivid-rodriguez
Copy link
Member

deivid-rodriguez commented Dec 14, 2021

So the cause is that the Gemfile is locked to sorbet 0.5.6433, which needs sorbet-static 0.5.6433, but that sorbet-static version does not support Monterey yet (that's the arm64-darwin-21 platform):

Captura de pantalla 2021-12-14 a las 13 16 45

The Gemfile dependency should be bumped to a newer version that supports Monterey, but we should definitely handle this case and not crash like this.

@melroy89
Copy link
Author

melroy89 commented Dec 14, 2021

EDIT: OK, the new bundler version fix it. But be sure you clear any cache in your CI/CD pipeline.

And most importantly upgrade the bundler version to v2.2.33 locally. Remove the old Gem file. Run: bundle install. Commit the new gemfile. And try again.

Successful job: https://gitlab.melroy.org/melroy/melroy-site/-/jobs/9161

@deivid-rodriguez
Copy link
Member

@Danger89 This is a different issue. The end user error is the same, but the root cause is different.

@deivid-rodriguez
Copy link
Member

Alright, I have this fix almost ready at #5168. New output in this case will be like this

$ bundle install
Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...
Bundler could not find compatible versions for gem "sorbet-static":
  In Gemfile:
    sorbet (= 0.5.6433) was resolved to 0.5.6433, which depends on
      sorbet-static (= 0.5.6433)

Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21', which is required by gem 'sorbet (= 0.5.6433)', in rubygems repository https://rubygems.org/ or installed locally.

The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
  * sorbet-static-0.5.6433-java
  * sorbet-static-0.5.6433-universal-darwin-14
  * sorbet-static-0.5.6433-universal-darwin-15
  * sorbet-static-0.5.6433-universal-darwin-16
  * sorbet-static-0.5.6433-universal-darwin-17
  * sorbet-static-0.5.6433-universal-darwin-18
  * sorbet-static-0.5.6433-universal-darwin-19
  * sorbet-static-0.5.6433-universal-darwin-20
  * sorbet-static-0.5.6433-x86_64-linux

@lem0nify
Copy link

lem0nify commented Dec 16, 2021

@deivid-rodriguez
The problem still exists on Windows 10.

To reproduce:

  • Take clean Win10 installation
  • Install the latest stable Ruby+Devkit 3.0.3-1 (x64) installer from https://rubyinstaller.org/downloads/
  • gem install bundler
  • Create empty project with Gemfile containing:
source 'https://rubygems.org'

gem 'sorbet', :group => :development
gem 'sorbet-runtime'
  • bundle install

And see:

NoMethodError: undefined method `full_name' for nil:NilClass
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:124:in `block (2 levels) in check_for_unmet_dependencies'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:123:in `each'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:123:in `block in check_for_unmet_dependencies'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:122:in `each'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:122:in `check_for_unmet_dependencies'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:100:in `call'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer/parallel_installer.rb:71:in `call'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer.rb:262:in `install_in_parallel'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer.rb:209:in `install'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer.rb:89:in `block in run'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/process_lock.rb:12:in `block in lock'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/process_lock.rb:9:in `open'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/process_lock.rb:9:in `lock'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer.rb:71:in `run'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/installer.rb:23:in `install'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/cli/install.rb:60:in `run'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/cli.rb:253:in `block in install'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/settings.rb:131:in `temporary'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/cli.rb:252:in `install'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/cli.rb:31:in `dispatch'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/cli.rb:25:in `start'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/exe/bundle:49:in `block in <top (required)>'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
  C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/exe/bundle:37:in `<top (required)>'
  C:/Ruby30-x64/bin/bundle:23:in `load'
  C:/Ruby30-x64/bin/bundle:23:in `<main>'

Environment

Bundler       2.2.33
  Platforms   ruby, x64-mingw32
Ruby          3.0.3p157 (2021-11-24 revision 3fb7d2cadc18472ec107b14234933b017a33c14d) [x64-mingw32]
  Full Path   C:/Ruby30-x64/bin/ruby.exe
  Config Dir  C:/ProgramData
RubyGems      3.2.32
  Gem Home    C:/Ruby30-x64/lib/ruby/gems/3.0.0
  Gem Path    C:/Users/l3m0n/.local/share/gem/ruby/3.0.0;C:/Ruby30-x64/lib/ruby/gems/3.0.0
  User Home   C:/Users/l3m0n
  User Path   C:/Users/l3m0n/.local/share/gem/ruby/3.0.0
  Bin Dir     C:/Ruby30-x64/bin
OpenSSL
  Compiled    OpenSSL 1.1.1l  24 Aug 2021
  Loaded      OpenSSL 1.1.1l  24 Aug 2021
  Cert File   C:/Ruby30-x64/ssl/cert.pem
  Cert Dir    C:/Ruby30-x64/ssl/certs
Tools
  Git         2.32.0.windows.2
  RVM         not installed
  rbenv       not installed
  chruby      not installed

Bundler Build Metadata

Built At          2021-12-07
Git SHA           9b5e2a350b
Released Version  true

Gemfile

Gemfile

source 'https://rubygems.org'

gem 'sorbet', :group => :development
gem 'sorbet-runtime'

Gemfile.lock

<No C:/Users/l3m0n/code/ruby/foo/Gemfile.lock found>

@deivid-rodriguez
Copy link
Member

@lem0nify I'm aware of the problem, and there's also a proposed fix at #5168, but you need to wait until I release it!

@lem0nify
Copy link

lem0nify commented Dec 16, 2021

@deivid-rodriguez Are there any temporary workarounds I can do now to make it work before you release?

@deivid-rodriguez
Copy link
Member

@lem0nify Unfortunately the release is not going to do much for you, it's just going to give you a more clear message about what's going on. Sorbet does not support Windows: https://sorbet.org/docs/faq#what-platforms-does-sorbet-support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants