2013-01-12 122 views
1

所以我使用安装在json宝石:红宝石JSON宝石没有显示在安装后

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) 

,你可以看到没有json宝石,它正在让我可以运行我的Ruby程序。任何帮助将是伟大的!

+0

您使用的是哪个版本的Ruby? –

+0

在Mac上为1.8.7版本 – BlackHatSamurai

+0

您安装了RVM。您的1.8.7是“系统”版本还是使用RVM安装的版本? –

回答

0

rvmsudo

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

3

您使用sudo安装了JSON,但似乎您正在运行RVM。在RVM下,使用sudo安装宝石,是a big NO-NO,并导致此类问题。

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

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

而且,除非您了解sudo gem install json或其他宝石发生了什么,否则请勿使用sudo gem installsudo gem remove

编辑:

Troubleshooting page上RVM的网站,这里是如何去除全系统安装:如果您需要sudo权限安装一个gem你应该使用

 
#!/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 is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete 
or comment out if this was a Per-User installation." 
+0

我尝试使用'gem install json'并得到:错误:执行gem时(Gem :: FilePermissionError) 您没有对/usr/local/rvm/gems/ruby-1.8.7的写入权限-p371目录。 – BlackHatSamurai

+0

这是因为您使用'sudo'在该主机上安装了RVM,使其成为全局安装。 '/ usr/local/rvm'是线索。我从来不推荐,也不是RVM网站。 –

+0

谢谢。任何想法如何解决我打破了什么? – BlackHatSamurai