Puphpet: Error: While executing gem ... invalid option: --no-rdoc

Created on 10 May 2019  路  5Comments  路  Source: puphpet/puphpet

When I run default puphpet configuration, it fails with error:

Error: Could not update: Execution of '/usr/local/rvm/bin/rvm 2.4 do gem install -v 1.2.1 --no-rdoc --no-ri deep_merge' returned 1: ERROR:  While executing gem ... (OptionParser::InvalidOption)
==> machine1:     invalid option: --no-rdoc

It seems like it started reproducing on rvm 1.29.8 (latest version), because it works on rvm 1.29.7.

It is reproduced on default Puphpet configuration, just open https://puphpet.com and build configuration with all default settings (just click "continue" on every step), then download archive, and run "vagrant up".

As a temporary solution, set older rvm version (1.29.7) in puphpet/puppet/modules/rvm/manifests/system.pp , replace line 3 with:
$version="1.29.7",

What may the better solution be, so that we will have latest rvm and valid configuration?

Most helpful comment

I don't know where to put it, but I guess here seems right : updating the file puphpet/puppet/modules/rvm/lib/puppet/provider/rvm_gem/gem.rb in the box archive will solve this issue :

...
l.112      command << "--no-document" <<  resource[:name]
...

All 5 comments

This is due to a change in the gem command in versions > 3, not really RVM itself. My own reading of the gem provider defined here (and some testing) shows that setting source => 'https://rubygems.org' will cause the gem installation to skip adding the--no-rdoc and --no-ri flags which are no longer present on newer rubygems.

I don't know where to put it, but I guess here seems right : updating the file puphpet/puppet/modules/rvm/lib/puppet/provider/rvm_gem/gem.rb in the box archive will solve this issue :

...
l.112      command << "--no-document" <<  resource[:name]
...

I don't know where to put it, but I guess here seems right : updating the file puphpet/puppet/modules/rvm/lib/puppet/provider/rvm_gem/gem.rb in the box archive will solve this issue :

...
l.112      command << "--no-document" <<  resource[:name]
...

How do you do that?

I don't know where to put it, but I guess here seems right : updating the file puphpet/puppet/modules/rvm/lib/puppet/provider/rvm_gem/gem.rb in the box archive will solve this issue :

...
l.112      command << "--no-document" <<  resource[:name]
...

How do you do that?

With your prefered text editor ^^

Oh my God) Finally I've solved it) Thanks, Friend!

Was this page helpful?
0 / 5 - 0 ratings