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

Release Windows fat gem for Ruby 2.4 #1618

Closed
nurse opened this issue Mar 18, 2017 · 19 comments
Closed

Release Windows fat gem for Ruby 2.4 #1618

nurse opened this issue Mar 18, 2017 · 19 comments

Comments

@nurse
Copy link
Contributor

nurse commented Mar 18, 2017

Nokogiri 1.7.0.1 x64-mingw32 fat binary gem doesn't support Ruby 2.4.
Could you release a new one for Ruby 2.4?

@flavorjones
Copy link
Member

flavorjones commented Mar 18, 2017 via email

@flavorjones flavorjones added this to the 1.8.0 milestone Mar 20, 2017
@johnnyshields
Copy link

👍

@obfuscoder
Copy link

At the moment, we have inconsistent dependency definitions across the different nokogiri 1.7.1 flavors. The standard version supports ruby 2.4+ while version 1.7.1-x64-mingw32 states that it does not support it.

@flavorjones
Copy link
Member

@obfuscoder We obviously know this. :-) Are you offering to help out?

@obfuscoder
Copy link

I suppose just rebuilding and publishing 1.7.1-x64-mingw32 with the restriction removed is not an option? What is to be done apart from removing the restriction for the next version? Any compile issues?

@larskanis
Copy link
Member

Everything is prepared on the master branch for ruby(installer)-2.4. The ruby version restrictions are correct how they are. @flavorjones can find some time to release nokogiri-1.8.0 ?

@flavorjones
Copy link
Member

Yup, will release 1.8.0 hopefully this weekend. I wanted to address the other issues in the 1.8.0 milestone, but I may just push them out if I can't get to them.

@rjhornsby
Copy link

This is indirectly related to the issue, but to hopefully save someone else the struggle - this seems to affect Chef 13 on Windows, likely because Chef 13 [client] omnibus installs Ruby 2.4.1. (Chef 12 is fine.)

Unfortunately, the failure is buried a few layers deep. A recipe has a run-time failure that it can't process a nil value. The value was supposed to have been provided by a custom ohai plugin that depends on nokogiri. By executing the ohai plugin directly on the test system with debug level logging, you can see that the nokogiri gem isn't being loaded. (This is only visible by running ohai with debug logging on.) From there, it's only when you tell a recipe to explicitly install the nokogiri gem that you see the underlying issue:

Error executing action `install` on resource 'chef_gem[nokogiri]'

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of C:/opscode/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.7.2" --source=https://www.rubygems.org ----
STDOUT:
STDERR: ERROR:  Error installing nokogiri:
nokogiri requires Ruby version < 2.4, >= 1.9.2.

@coderanger
Copy link

@rjhornsby The Chef maintainers are working on this in our installers, stay tuned.

@lamont-granquist
Copy link

@rjhornsby that isn't indirectly related to this issue, that is precisely this issue.

Since nokogiri is an optional add-on to the chef client (it isn't necessary for anything at all inside chef client itself) in order to ship 13.0 I removed nokogiri from the windows builds. That unblocked us from shipping ruby-2.4.1 which was a business requirement to ship Chef 13.0 on.

For ChefDK 2.0 we need nokogiri for the bundled software, so I've created an omnibus definition for nokogiri which checks it out from git and builds it against our own mingw2 windows build environment (with our libxml2 and libxslt) so that we can ship nokogiri 1.7.x on ruby 2.4.1 on windows. But that development effort happened after Chef 13.0 shipped. Likely ChefDK 2.0 will land with nokogiri in windows and that'll have Chef 13.1 but which will still not ship with nokogiri. Eventually we'll ship Chef 13.2 which will have nokogiri baked into it one way or another (either this issue gets closed and we just pick up the released fat gem, or we'll backport the ChefDK 2.0 software definition to Chef 13.2 to get it in there).

TL;DR: If you need nokogiri on Chef 13 on windows this issue is a hard blocker. If Chef 13.2 gets released first, then that will also unblock you.

@djam90
Copy link

djam90 commented May 26, 2017

@flavorjones Has this been resolved with the release of 1.7.2? I installed 1.7.2 on Windows with gem 'nokogiri', '~>1.7.2' and get the following error:

Gem::InstallError: nokogiri requires Ruby version < 2.4, >= 2.1.0

I have Ruby 2.4.1p111 (2017-03-22 revision 58053) [x64-mingw32] and the version of nokogiri fetched was etching nokogiri 1.7.2 (x64-mingw32).

@rjhornsby
Copy link

@djam90 The fix/update is anticipated with the release of 1.8.0

@walataza
Copy link

Good day everyone. I am new to Rails.. i tried to create a new rails app via the command line and it get the error below
Gem::InstallError: nokogiri requires Ruby version < 2.4, >= 2.1.0.
An error occurred while installing nokogiri (1.7.2), and Bundler cannot
continue.
Make sure that gem install nokogiri -v '1.7.2' succeeds before bundling.

Below is my environment
C:\Windows\System32>ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x64-mingw32]

C:\Windows\System32>rails -v
Rails 5.1.1

Thank you in advance

@nurse
Copy link
Contributor Author

nurse commented May 31, 2017

When nokogiri 1.8.0 is relaesed?
If it still takes time, can I release 1.7.3 to support 2.4.1 fat gem?
I have a commit bit to GitHub repo but don't have rubygems push privilege.

@lamont-granquist
Copy link

1.7.3 that was simply 1.7.2 with fat gem support for windows on ruby-2.4 would be lovely

@nahmad2017
Copy link

Hi , When will a version of nokogiri that supports ruby 2.4 on windows be released ? Another question , I'm new to ruby development. I would like to learn how to modify nokogiri code so as to make it compatible with ruby 2.4 for instance. How should I go to do it ?

@flavorjones
Copy link
Member

Done. Shipped in Nokogiri 1.8.0.

@nurse
Copy link
Contributor Author

nurse commented Jun 5, 2017

thanks!

@wachiuri
Copy link

thanks. was installing twitter bootstrap website on local machine. nokogiri 1.8.0 worked

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

No branches or pull requests