1

所以我json使用以下方法安装了gem:

sudo gem install json

一切似乎都安装正确,但是当我打电话时,gem list我得到了这个:

bundler (1.2.1)
hpricot (0.8.6)
i18n (0.6.1)
mail (2.4.4)
mime-types (1.19)
polyglot (0.3.3)
rack (1.4.1)
rack-protection (1.2.0)
rake (10.0.0)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sinatra (1.3.3)
tilt (1.3.3)
treetop (1.4.12)

正如你所看到的,没有jsongem,它正在制作它,所以我可以运行我的Ruby程序。任何帮助都会很棒!

4

2 回答 2

3

您使用安装了 JSON,sudo但您似乎正在运行 RVM。在 RVM 下,sudo用于安装 gems 是一个很大的 NO-NO并导致此类问题。

sudo gem install json将它安装在系统中预先存在的 JSON 上,而不是安装到 RVM 控制的 Ruby 中。

再做一次,但不要使用sudo,看看会发生什么。

而且,除非您了解发生了什么sudo gem install json或其他一些 gem,否则不要使用sudo gem installor sudo gem remove

编辑:

根据 RVM 网站上的故障排除页面,以下是删除系统范围安装的方法:

#!/bin/bash
/usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm
/usr/bin/sudo /usr/sbin/groupdel rvm
/bin/echo "RVM 已删除。请检查所有 .bashrc|.bash_profile|.profile|.zshrc 中的 RVM 源代码行并删除
或注释掉这是否是每用户安装。”
于 2013-01-12T00:22:40.883 回答
0

如果您需要sudo安装权限,gem您应该使用:rvmsudo

在这种情况下,它解决了我的问题,而无需重新安装所有东西。

于 2013-01-14T18:56:15.983 回答