2013-01-12 123 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