Closed smaximov closed 5 years ago
What's in your Gemfile?
It's just the default Gemfile
created by bundle gem $GEMNAME
:
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# Specify your gem's dependencies in bundix-issue.gemspec
gemspec
@manveru I've done some debugging and it seems like the error is caused by a missing PLATFORM_MAPPING
for :truffleruby
.
When determining platforms for "bundix-issue", dep_cache.fetch(spec.name).platforms
returns :truffleruby
among others. Because it does not have a corresponding mapping in PLATFORM_MAPPING
, the map's block returns nil
.
The resulting gemset (before serialization) looks like this (note the trailing nil
in "bundix-issue" => :platforms
):
{"rake"=>{:version=>"10.5.0", :source=>{:type=>"gem", :remotes=>["https://rubygems.org"], :sha256=>"0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"}, :platforms=>[], :groups=>[:development]},
"bundix-issue"=>
{:version=>"0.1.0",
:source=>{:type=>"path", :path=>#<Pathname:.>},
:platforms=>
[{:engine=>"ruby"},
{:engine=>"rbx"},
# ...snip...
{:engine=>"ruby", :version=>"2.5"},
{:engine=>"maglev", :version=>"2.5"},
{:engine=>"rbx"},
nil], # <= this!!!
:groups=>[:default]}}
Because of nil
in :platforms
, serialization breaks here.
I'm having the same issue, running bundix
against https://github.com/twitter/twurl
To reproduce the issue, consider this minimal gem specification.
bundix-issue.gemspec:
shell.nix:
When trying to build a
gemset.nix
file, I get the following error:Environment
I'm on macOS Mojave v10.14.2, ruby 2.5.3p105, bundix 2.4.1.