安装Rails错误"无效的gem:包已损坏"

rya*_*yan 20 gem install ruby-on-rails rvm

我正在运行Mac OSX 10.9.1,我正在使用RVM来管理Ruby v2.0.0-p353.

当我尝试安装Rails时出现此错误:

Ryans-MacBook-Air-2:~ ryan$ gem install rails
ERROR:  Error installing rails:
invalid gem: package is corrupt, exception while verifying: undefined method`path2class' for #<Psych::ClassLoader:0x0000010c9d0be0> (NoMethodError) in /Users/ryan/.rvm/gems/ruby-2.0.0-p353/cache/i18n-0.6.9.gem
Run Code Online (Sandbox Code Playgroud)

这是我安装的宝石列表:

Ryans-MacBook-Air-2:~ ryan$ gem list

*** LOCAL GEMS ***

bigdecimal (1.2.3, 1.2.0)
bundler (1.5.1)
bundler-unload (1.0.2)
executable-hooks (1.2.6)
gem-wrappers (1.2.1)
io-console (0.4.2)
json (1.8.1, 1.7.7)
minitest (5.2.0, 4.3.2)
psych (2.0.2, 2.0.0)
rake (10.1.1, 0.9.6)
rdoc (4.1.0, 4.0.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
test-unit (2.5.5, 2.0.0.0)
Run Code Online (Sandbox Code Playgroud)

有没有人有解决这个问题的建议?

Jan*_*n M 30

最新版本不再使用该class2path方法,因此可以通过将Psych gem降级到2.0.0版本来避免此问题:

gem list psych   # note down latest version
gem uninstall psych -v 2.0.5  # or whatever version you have installed
Run Code Online (Sandbox Code Playgroud)

安装宝石后,如果需要,可以再次升级Psych宝石.

  • 这绝对是正确的道路.更多信息,请访问https://github.com/tenderlove/psych/issues/182.我个人使用RVM升级到2.1.1,再次捆绑,这似乎也解决了它.安装的心理是2.0.3. (2认同)

Ste*_*eve 5

我和您一样在确切的环境中也遇到了这个确切的问题。我尝试了很多东西,包括 Alexbhandari 添加到评论中的链接。我花了几个小时终于决定退出并完全擦除所有 ~/.rvm 文件夹并重新开始。

警告:这应该只在新安装时执行,而不必先考虑可能会丢失的东西,例如您可能自己构建的 gemset。但是,如果是新安装,您不会丢失任何无法更换的东西。

我重命名了 ~/.rvm 文件夹,以便我确实有备份并再次开始整个安装过程。这次它起作用了,我实际上在大约 20 分钟内启动并运行,而不是我在尝试解决问题之前浪费的时间。

您可以使用mv命令从终端窗口执行此操作。~/.rvm 目录在我的 $home 目录中:

Stephens-MacBook-Pro-2:~ Steve$ mv .rvm old.rvm
Run Code Online (Sandbox Code Playgroud)

我知道这是一个激烈的步骤,但是它在新安装中对我有用,所以我希望它将来会帮助新手。