2017-03-03 328 views
2
[email protected]:~$ gem list 

*** LOCAL GEMS *** 

bigdecimal (1.2.8) 
did_you_mean (1.0.0) 
io-console (0.4.5) 
json (1.8.3) 
minitest (5.8.4) 
net-telnet (0.1.1) 
power_assert (0.2.7) 
psych (2.0.17) 
rake (10.5.0) 
rdoc (4.2.1) 
sass (3.4.23) 
test-unit (3.1.7) 
[email protected]:~$ sudo gem uninstall rake 
ERROR: While executing gem ... (Gem::InstallError) 
    rake is not installed in GEM_HOME, try: 
    gem uninstall -i /usr/share/rubygems-integration/all rake 
[email protected]:~$ sudo gem uninstall -i /usr/share/rubygems-integration/all rake 
Remove executables: 
    rake 

in addition to the gem? [Yn] Y 
ERROR: While executing gem ... (Gem::FilePermissionError) 
    You don't have write permissions for the /usr/share/rubygems-integration/all/bin directory. 
[email protected]:~$ ls /usr/share/rubygems-integration/all/ 
specifications 
[email protected]:~$ 

我不能特别卸载此宝石,既不如果好像它不存在使用它:( 。卸载红宝石宝石

我的红宝石verison是2.3.1.p112

回答

3

理想情况下,您可以使用RVM或rbenv来创建本地沙箱,并处理您的Ruby安装和gems,而不是系统默认的。然后您不必使用sudo,您可以使用gem uninstall <gem>。它不允许您访问原因,所以很难不小心搞乱Ruby系统。

如果您只需阅读这些install directions即可使用RVM进行设置,然后将以前使用的宝石安装到新环境中。它将为您在管理Ruby和宝石的将来节省很多麻烦。

-

如果你不想这样做,你可以试试这个答案

尝试从这个related question这个答案。

gem list -d 'name of gem'并注意 “安装在” 位置

sudo gem uninstall 'name of gem' -i 'the path noted above'

如果仍然返回权限错误。在上面的路径中创建一个文件夹/ bin。继续卸载,如第2步所述,仍然使用原始路径(/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8)。

0

sudo不是一个魔术棒,施魔法“也无妨。”

当你列出你的宝石,你从用户执行平原gem list。它列出了为用户安装的宝石。之后,您尝试sudo gem uninstall rake。为什么你期望超级用户的宝石列表与用户的列表相同?

要移除用gem list列出的用户宝石,请使用gem uninstall rake。没有sudo

要列出超级用户的宝石,您尝试使用sudo gem uninstall rake删除,请使用sudo gem list。用sudo。在sudo

更多信息:http://aplawrence.com/Basics/sudo.html

+0

我卸载,但由于某种原因,有剩余的一些文件。我手动删除,现在一切正常。我试图安装耙并卸载它,现在工作正常。 –