【发布时间】:2011-09-27 20:06:12
【问题描述】:
尝试通过 RVM 将 RubyGems 升级到 1.8.10 版并出现此错误:
$ rvm rubygems latest
Removing old Rubygems files...
Installing rubygems-1.8.10 for ruby-1.9.2-p180 ...
ERROR: Error running 'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global" GEM_HOME="/Users/foo/.rvm/gems/ruby-1.9.2-p180" "/Users/foo/.rvm/rubies/ruby-1.9.2-p180/bin/ruby" "/Users/foo/.rvm/src/rubygems-1.8.10/setup.rb"', please read /Users/foo/.rvm/log/ruby-1.9.2-p180/rubygems.install.log
WARN: Installation of rubygems did not complete successfully.
检查日志文件 (rubygems.install.log) 时,这是从安装生成的:
[2011-09-27 21:16:57] GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-
p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global" GEM_HOME="/Users/foo/.rvm/gems/ruby-1.9.2-p180" "/Users/foo/.rvm/rubies/ruby-1.9.2-p180/bin/ruby" "/Users/foo/.rvm/src/rubygems-1.8.10/setup.rb"
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/f_sync_dir.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_header.rb, skipping
unable to convert U+00E1 to US-ASCII in conversion from ISO-8859-1 to UTF-8 to US-ASCII for lib/rubygems/package/tar_input.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_output.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_reader/entry.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_reader.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_writer.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package.rb, skipping
unable to convert U+0160 from UTF-8 to US-ASCII for History.txt, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/f_sync_dir.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_header.rb, skipping
unable to convert U+00E1 to US-ASCII in conversion from ISO-8859-1 to UTF-8 to US-ASCII for lib/rubygems/package/tar_input.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_output.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_reader/entry.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_reader.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package/tar_writer.rb, skipping
unable to convert U+00E1 from UTF-8 to US-ASCII for lib/rubygems/package.rb, skipping
unable to convert U+0160 from UTF-8 to US-ASCII for History.txt, skipping
ERROR: While executing gem ... (RDoc::Error)
error generating index.html: Error while evaluating /Users/foo/.rvm/gems/ruby-1.9.2-p180/gems/rdoc-3.9/lib/rdoc/generator/template/darkfish/index.rhtml: undefined method `[]' for nil:NilClass (RDoc::Error)
RubyGems 1.8.10 installed
有人知道更新可能有什么问题吗?也尝试通过 RVM 删除 rubygems,然后再次运行更新,但没有成功。
更新: 好像 rvm 无法运行 Ruby 1.9.2。
$ rvm use 1.9.2 WARN: ruby ruby-1.9.2-p290 is not installed. To install do: 'rvm install ruby-1.9.2-p290'
所以安装1.9.2-p290之后rubygems的安装就成功完成了。
$ rvm use 1.9.2
Using /Users/foo/.rvm/gems/ruby-1.9.2-p290
$ rvm rubygems latest
Removing old Rubygems files...
Installing rubygems-1.8.10 for ruby-1.9.2-p290 ...
Installation of rubygems completed successfully.
这对我有用。
【问题讨论】:
-
似乎 rvm 无法运行 Ruby 1.9.2。 $ rvm use 1.9.2 WARN: ruby ruby-1.9.2-p290 没有安装。要安装: 'rvm install ruby-1.9.2-p290' 所以在安装 1.9.2-p290 之后,rubygems 的安装成功完成。
-
您应该删除您的问题或将您的解决方案作为答案发布并接受它。
-
Andrew Marshall:我知道,似乎需要 48 小时才能将自己的答案标记为解决方案?所以等着你看看。 ;)