【问题标题】:Problem with upgrading rubygems via rvm通过 rvm 升级 ruby​​gems 的问题
【发布时间】: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 删除 ruby​​gems,然后再次运行更新,但没有成功。

更新: 好像 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 小时才能将自己的答案标记为解决方案?所以等着你看看。 ;)

标签: ruby macos rubygems rvm


【解决方案1】:

好像 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.

这对我有用。

【讨论】:

    【解决方案2】:

    我通过在根目录中删除此文件 .gemrc 来修复它

    cd ~
    rm .gemrc
    rvm rubygems latest
    

    【讨论】:

    • 我不明白为什么这有效,但确实有效。问题解决了。我的错误日志与 GLindqvist 的不同,但相同的 RVM 错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多