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
[bug] Can't install nokogiri with Ruby 3.1.0.dev #2185
Comments
I'm so sorry, I accidentally hit enter before filling in the details 😱 |
👋 Sorry you're dealing with this. I opened an upstream bundler issue here: rubygems/rubygems#4012 and I believe a permanent fix has been committed to Bundler master/main. I'm going to tag in the Bundler maintainer I've been working with on this and related issues, @deivid-rodriguez, who might have some advice and help. |
In the meantime I'm going through building Ruby locally to try to reproduce on my system. |
I believe this is expected, because I think the reason this wasn't detected in rubygems/rubygems#4012 is that nokogiri was using |
AFAICT Nokogiri isn't setting an upper bound, it only has a lower one. https://github.com/sparklemotion/nokogiri/blob/main/nokogiri.gemspec#L40 |
Oh, just ignore me, I'm tired today. I understand now, this is indeed the same issue. Bundler should've chosen the RUBY version since it has no upper bound. I'll build ruby-head too and have a look 👍. |
Our comments crossed @eileencodes, yeah, you're right. I misunderstood the issue initially. |
One question @eileencodes. Do you have a lockfile? If you do, does the issue still repro if you delete it? |
I deleted rails/rails lockfile and it looks like Nokogiri did install in that case, but bundling failed to build native extensions for curses. |
OK, running
installs nokogiri v1.11.1 (the ruby platform version) as expected for me. |
I think the issue here is reusing a lockfile across rubies that resolve to different sets of gems. I assume you use that lockfile for older rubies that are resolved to the platform specific version. If that's the case, bundler will use the lockfile since it currently doesn't have the ability of detecting this situation and re-resolving. I think it's the same issue as rubygems/rubygems#4282. I coded a solution involving storing
This bit is expected, right? (or at least not a bundler issue?) |
I'm going to close this out since I don't think there's anything we can do within Nokogiri to address this, and there are some open Bundler conversations about it. |
This excludes `head` from the Ruby version matrix due to an issue with installing Nokogiri, described by sparklemotion/nokogiri#2185.
This excludes `head` from the Ruby version matrix due to an issue with installing Nokogiri, described by sparklemotion/nokogiri#2185.
This excludes `head` from the Ruby version matrix due to an issue with installing Nokogiri, described by sparklemotion/nokogiri#2185.
This excludes `head` from the Ruby version matrix due to an issue with installing Nokogiri, described by sparklemotion/nokogiri#2185.
This excludes `head` from the Ruby version matrix due to an issue with installing Nokogiri, described by sparklemotion/nokogiri#2185.
Please describe the bug
I was benchmarking some Ruby changes I'm making with @tenderlove but I'm unable to install the latest Nokogiri with Ruby 3.1.0.dev (Ruby master). When I try to bundle Rails using Ruby built from source I get the following:
My bundler version is
Bundler version 2.3.0.dev
I saw this previous issue #2075 and tried
specific_platform
but that made no difference. I also tried the known "bundler hack" to work around platform specific issues but that also made no difference in being able to bundle Rails. I don't know if this is a bundler issue or a nokogiri issue but I wanted to start here.Help us reproduce what you're seeing
make
andmake install
ruby-trunk
bundle
and see the error.The text was updated successfully, but these errors were encountered: