Description of problem: "bundle install --path=vendor/bundle" with the Gemfile fails to install "nio4r" showing the error message "did_you_mean (LoadError)", using RPM ruby (ruby-2.7.0-127.fc32.x86_64). rubygem-did_you_mean RPM is installed to the system. In case of rubygem-did_you_mean RPM, did_you_mean is a normal gem, as you know. ``` $ gem list did_you_mean *** LOCAL GEMS *** did_you_mean (1.4.0) ``` In case of upstream Ruby 2.7.0's did_you_mean, did_you_mean is a default gem. And this issue does not happen with the upstream Ruby. ``` $ gem list did_you_mean *** LOCAL GEMS *** did_you_mean (default: 1.4.0) ``` Version-Release number of selected component (if applicable): * Fedora rawhide * ruby-2.7.0-127.fc32.x86_64 * ruby-devel-2.7.0-127.fc32.x86_64 * rubygem-bundler-2.1.2-127.fc32.noarch * rubygem-did_you_mean-1.4.0-127.fc32.noarch How reproducible: Steps to Reproduce: 1. Prepare following `Gemfile`. ``` $ cat Gemfile source "https://rubygems.org" gem "nio4r", "= 2.5.2" ``` 2. Run following command. ``` $ bundle install --path=vendor/bundle ``` Actual results: ``` $ bundle install --path=vendor/bundle Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Using bundler 2.1.2 Fetching nio4r 2.5.2 Installing nio4r 2.5.2 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /builddir/work/vendor/bundle/ruby/2.7.0/gems/nio4r-2.5.2/ext/nio4r /usr/bin/ruby -I /usr/share/rubygems -r ./siteconf20200325-523-11don1e.rb extconf.rb /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- did_you_mean (LoadError) from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require' from <internal:gem_prelude>:2:in `<internal:gem_prelude>' extconf failed, exit code 1 Gem files will remain installed in /builddir/work/vendor/bundle/ruby/2.7.0/gems/nio4r-2.5.2 for inspection. Results logged to /builddir/work/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/nio4r-2.5.2/gem_make.out An error occurred while installing nio4r (2.5.2), and Bundler cannot continue. Make sure that `gem install nio4r -v '2.5.2' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: nio4r ``` Expected results: ``` $ bundle install --path=vendor/bundle ``` installs nio4r successfully. Additional info: rubygems RPM's gem command succeeds to install nio4r like this on Fedora rawhide. ``` # gem instal nio4r Building native extensions. This could take a while... Successfully installed nio4r-2.5.2 Parsing documentation for nio4r-2.5.2 Done installing documentation for nio4r after 0 seconds 1 gem installed ``` So, I assume this is a Bundler specific issue.
Possibly here is a temporary workflow to fix this issue when you still see this issue. ``` $ sudo ln -s /usr/share/gems/gems/did_you_mean-1.4.0/lib/did_you_mean.rb /usr/share/ruby/did_you_mean.rb $ sudo ln -s /usr/share/gems/gems/did_you_mean-1.4.0/lib/did_you_mean /usr/share/ruby/did_you_mean ```
I conformed that the temporary workflow fixes this issue on ruby-2.7.1-128.fc33.x86_64 .
@Jun could you please give try to https://src.fedoraproject.org/rpms/ruby/pull-request/57 ? The CI should soon kick in to provide you the RPMs.
Yes, let me check tomorrow.
(In reply to Jun Aruga from comment #1) > Possibly here is a temporary workflow to fix this issue when you still see > this issue. > > ``` > $ sudo ln -s /usr/share/gems/gems/did_you_mean-1.4.0/lib/did_you_mean.rb > /usr/share/ruby/did_you_mean.rb > $ sudo ln -s /usr/share/gems/gems/did_you_mean-1.4.0/lib/did_you_mean > /usr/share/ruby/did_you_mean > ``` I was starting to tear my hair out because I could not get jekyll to work on fedora 32 anymore because of this issue. Thanks for your workaround! It definitely saved my day.
FEDORA-2020-9de8f1c534 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-9de8f1c534
FEDORA-2020-9de8f1c534 has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-9de8f1c534` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-9de8f1c534 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-9de8f1c534 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report.