Rubygems 1.3.7 TypeError (in 'merge') during installation on Ubuntu

When installing ruby-1.9.2-p0 from rvm to the updated Ubunutu x86_64, I continue to get the error in `merge ': it is not possible to convert String to Hash (TypeError). All the mouth-watering packages were installed in the rvm notes and in the rubigem guides. I believe the error occurs when RVM tries to install rubygems.

I also get the same error when installing ruby ​​gems with a ruby ​​system. I think this is a dependency problem.

I already compiled Ubuntu before on i386 and x86_64 and have never encountered this problem. What am I missing / doing wrong?

Via ruby ​​system:

$ ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux] $ sudo ruby setup.rb ./lib/rubygems/config_file.rb:172:in `merge': can't convert String into Hash (TypeError) from ./lib/rubygems/config_file.rb:172:in `initialize' from ./lib/rubygems.rb:385:in `new' from ./lib/rubygems.rb:385:in `configuration' from ./lib/rubygems.rb:635:in `path' from ./lib/rubygems/source_index.rb:68:in `installed_spec_directories' from ./lib/rubygems/source_index.rb:58:in `from_installed_gems' from ./lib/rubygems.rb:883:in `source_index' from ./lib/rubygems/gem_path_searcher.rb:81:in `init_gemspecs' from ./lib/rubygems/gem_path_searcher.rb:13:in `initialize' from ./lib/rubygems.rb:841:in `new' from ./lib/rubygems.rb:841:in `searcher' from ./lib/rubygems.rb:840:in `synchronize' from ./lib/rubygems.rb:840:in `searcher' from ./lib/rubygems.rb:479:in `find_files' from ./lib/rubygems.rb:983:in `load_plugins' from ./lib/rubygems.rb:1139 from setup.rb:24:in `require' from setup.rb:24 

Via RVM:

 [2010-09-20 10:46:27] make file.c: In function 'file_expand_path': file.c:2844: warning: 'b' may be used uninitialized in this function io.c: In function 'argf_next_argv': io.c:6821: warning: ignoring return value of 'fchown', declared with attribute warn_unused_result process.c: In function 'rb_fork_err': process.c:2516: warning: ignoring return value of 'write', declared with attribute warn_unused_result process.c:2519: warning: ignoring return value of 'write', declared with attribute warn_unused_result process.c: In function 'p_uid_change_privilege': process.c:4111: warning: signed and unsigned type in conditional expression process.c:4112: warning: signed and unsigned type in conditional expression process.c:4113: warning: signed and unsigned type in conditional expression process.c: In function 'proc_daemon': process.c:4608: warning: ignoring return value of 'chdir', declared with attribute warn_unused_result process.c: In function 'p_gid_change_privilege': process.c:4730: warning: signed and unsigned type in conditional expression process.c:4731: warning: signed and unsigned type in conditional expression process.c:4732: warning: signed and unsigned type in conditional expression random.c: In function 'fill_random_seed': random.c:492: warning: ignoring return value of 'read', declared with attribute warn_unused_result ossl_pkey_ec.c: In function 'ossl_ec_group_set_seed': ossl_pkey_ec.c:1110: warning: comparison between signed and unsigned integer expressions ossl_pkcs7.c: In function 'ossl_pkcs7_sym2typeid': ossl_pkcs7.c:376: warning: comparison between signed and unsigned integer expressions ossl_hmac.c: In function 'ossl_hmac_hexdigest': ossl_hmac.c:162: warning: comparison between signed and unsigned integer expressions ossl_hmac.c: In function 'ossl_hmac_s_hexdigest': ossl_hmac.c:225: warning: comparison between signed and unsigned integer expressions ossl_ssl_session.c: In function 'ossl_ssl_session_to_der': ossl_ssl_session.c:208: warning: comparison between signed and unsigned integer expressions parser.c: In function 'parse': parser.c:58: warning: 'internal_enc' may be used uninitialized in this function pty.c: In function 'chfunc': pty.c:209: warning: ignoring return value of 'write', declared with attribute warn_unused_result pty.c: In function 'establishShell': pty.c:269: warning: ignoring return value of 'read', declared with attribute warn_unused_result _sdbm.c: In function 'makroom': _sdbm.c:425: warning: ignoring return value of 'write', declared with attribute warn_unused_result _sdbm.c: In function 'chkpage': _sdbm.c:864: warning: comparison between signed and unsigned integer expressions rubyext.c: In function 'mktime_do': rubyext.c:278: warning: comparison between signed and unsigned integer expressions /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/config_file.rb:159:in `merge': can't convert String into Hash (TypeError) from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/config_file.rb:159:in `initialize' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:390:in `new' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:390:in `configuration' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:618:in `path' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/source_index.rb:68:in `installed_spec_directories' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/source_index.rb:58:in `from_installed_gems' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:866:in `source_index' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/gem_path_searcher.rb:81:in `init_gemspecs' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems/gem_path_searcher.rb:13:in `initialize' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:824:in `new' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:824:in `block in searcher' from :10:in `synchronize' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:823:in `searcher' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:484:in `find_files' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:966:in `load_plugins' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rubygems.rb:1136:in `' from :29:in `require' from :29:in `require' from /home/deploy/.rvm/src/ruby-1.9.2-p0/lib/rdoc/rdoc.rb:438:in `' from :29:in `require' from :29:in `require' from ./bin/rdoc:11:in `' make: *** [rdoc] Error 1 
+4
source share
1 answer

The solution was simple.

1) Read the source code. 2) Understand that the merge of system_config is successful. 3) Understand that you have an error in the user_config file (.gemrc). 4) Correct. 5) Everything works.

The correct syntax

.gemrc:

 gem: --no-ri --no-rdoc 
+18
source

All Articles