user@machine:~$ 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)
user@machine:~$ 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
user@machine:~$ 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.
user@machine:~$ ls /usr/share/rubygems-integration/all/
specifications
user@machine:~$
我无法卸载此gem特别是,也不能使用它:( 如果它似乎不存在。
我的红宝石版本是2.3.1.p112
答案 0 :(得分:5)
理想情况下,您可以使用RVM或rbenv创建本地沙箱并处理Ruby安装和gems而不是系统默认值。然后,您不必使用sudo
即可使用gem uninstall <gem>
。它不会让你有机会访问,因此不小心搞乱了Ruby系统。
如果您可以阅读这些install directions来设置RVM,然后安装以前在新环境中使用的gem。在将来管理Ruby和宝石时,它将为您节省很多麻烦。
-
如果您不想这样做,可以尝试这个答案
尝试此related question的答案。
gem list -d 'name of gem'
并注意&#34;安装于:&#34;位置
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)。
答案 1 :(得分:0)
sudo
不是施放咒语的魔杖“无论如何都要做。”
当您列出宝石时,您可以从用户执行纯gem list
。它列出了为用户安装的gem。然后尝试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