rvm / gem-wrappers

Create gem wrappers for easy use of gems in cron and other system locations.
Other
14 stars 4 forks source link

Broken on latest rubygems #15

Open sj26 opened 2 years ago

sj26 commented 2 years ago

The latest versions of rubygems seem to have broken gem-wrappers. This error was observed when using rvm, but appears isolated to the installation of gem-wrappers 1.4.0:

docker run --rm -it ubuntu:20.04

apt update && apt install -yy gpg curl

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

curl -sSL https://get.rvm.io | bash -s -- --version 1.29.12

source /usr/local/rvm/scripts/rvm

rvm install 2.7.4

gem update --system 3.2.24 --no-document

rvm wrapper show gem
Error running 'command gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document',
please read /usr/local/rvm/log/1626997276/gem.install.gem-wrappers->=1.4.0.log
cat "/usr/local/rvm/log/1626997276/gem.install.gem-wrappers->=1.4.0.log"
[2021-07-22 23:41:16] command
current path: /
GEM_PATH=/usr/local/rvm/gems/ruby-2.7.4:/usr/local/rvm/gems/ruby-2.7.4@global
GEM_HOME=/usr/local/rvm/gems/ruby-2.7.4
PATH=/usr/local/rvm/gems/ruby-2.7.4/bin:/usr/local/rvm/gems/ruby-2.7.4@global/bin:/usr/local/rvm/rubies/ruby-2.7.4/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
command(6): command gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document
+ gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document
ERROR:  Error installing /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem:
    ERROR: Failed to build gem native extension.

    No such file or directory @ dir_s_mkdir - /usr/local/rvm/gems/ruby-2.7.4/gems/gem-wrappers-1.4.0/ext/wrapper_generator/.gem.20210722-8592-pql92i

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.7.4/gems/gem-wrappers-1.4.0 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.7.4/extensions/aarch64-linux/2.7.0/gem-wrappers-1.4.0/gem_make.out
gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document
ERROR:  Error installing /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem:
    ERROR: Failed to build gem native extension.

    No such file or directory @ dir_s_mkdir - /usr/local/rvm/gems/ruby-2.7.4/gems/gem-wrappers-1.4.0/ext/wrapper_generator/.gem.20210722-8607-1b6c3nh

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.7.4/gems/gem-wrappers-1.4.0 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.7.4/extensions/aarch64-linux/2.7.0/gem-wrappers-1.4.0/gem_make.out
cat /usr/local/rvm/gems/ruby-2.7.4/extensions/aarch64-linux/2.7.0/gem-wrappers-1.4.0/gem_make.out
No such file or directory @ dir_s_mkdir - /usr/local/rvm/gems/ruby-2.7.4/gems/gem-wrappers-1.4.0/ext/wrapper_generator/.gem.20210722-8607-1b6c3nh
rfpronk commented 1 year ago

I ran into this today as well

me@host:/srv/rubyappdir$ cat /usr/local/rvm/log/1667212056/gem.install.gem-wrappers-\>\=1.4.0.log
[2022-10-31 11:27:36] command
current path: /srv/rubyappdir
GEM_HOME=/usr/local/rvm/gems/ruby-3.0.4@myBundle
GEM_PATH=/usr/local/rvm/gems/ruby-3.0.4@myBundle:/usr/local/rvm/gems/ruby-3.0.4@global
PATH=/usr/local/rvm/gems/ruby-3.0.4@myBundle/bin:/usr/local/rvm/gems/ruby-3.0.4@global/bin:/usr/local/rvm/rubies/ruby-3.0.4/bin:/usr/local/rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
command(6): command gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document
+ gem install /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem --local --no-document
ERROR:  Error installing /usr/local/rvm/gem-cache/gem-wrappers-1.4.0.gem:
    ERROR: Failed to build gem native extension.

    No such file or directory @ dir_s_mkdir - /usr/local/rvm/gems/ruby-3.0.4@myBundle/gems/gem-wrappers-1.4.0/ext/wrapper_generator/.gem.20221031-31673-qk42yu

Gem files will remain installed in /usr/local/rvm/gems/ruby-3.0.4@myBundle/gems/gem-wrappers-1.4.0 for inspection.
Results logged to /usr/local/rvm/gems/ruby-3.0.4@myBundle/extensions/x86_64-linux/3.0.0/gem-wrappers-1.4.0/gem_make.out

Failed

Doing rvm . do gem install gem-wrappers (so install gem-wrappers in the rvm gemset) does the trick 👍 Weird of course because gem-wrappers is present in rvm . do gem list, but this workaround unblocked me.

me@host:/srv/rubyappdir$ rvm . do gem install gem-wrappers
Fetching gem-wrappers-1.4.0.gem
Building native extensions. This could take a while...
Successfully installed gem-wrappers-1.4.0
Parsing documentation for gem-wrappers-1.4.0
Installing ri documentation for gem-wrappers-1.4.0
Done installing documentation for gem-wrappers after 0 seconds
1 gem installed
me@host:/srv/rubyappdir$ rvm . do rvm wrapper regenerate

Downgrade Rubygems to 3.2.17 also makes it work again, but that feels wrong.