我有一些不会消失的红宝石宝石。
我认为这与我安装它们时有关。偶尔我会忘记在进行gem安装之前使用“sudo”,这会导致写入错误,并且我可以收集的内容会将gem的副本放在我的用户目录中,而不是它可以运行的某个地方。但是宝石卸载不起作用。它不断显示在'gem list'中,但不能从gem uninstall或sudo gem uninstall中卸载它。我在“宝石环境”中找到路径后尝试直接删除一个宝石,但仍然将宝石留在列表中。
还可以删除所有宝石并从头开始吗?这些让我疯狂。
我正在运行OS X.
答案 0 :(得分:29)
假设gem clean
(或sudo gem clean
)不起作用,我会尝试以下操作从您的系统中完全删除所有宝石:
您可以通过运行命令来查看已安装gem的位置:
gem env paths
要删除系统上的所有gem,只需删除此命令返回的文件夹即可。
此外,在OSX Leopard上,此文件夹中安装了默认gem:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
如果您的系统上存在此文件夹,则可以像以前一样删除此文件夹,以确保删除所有宝石。
答案 1 :(得分:8)
您还可以执行以下操作以摆脱已安装的宝石。
gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]
如果前面提到的东西不起作用,我今天必须自己做。
答案 2 :(得分:7)
我有一个类似的问题,但根本问题结果是gemspecs因为一些未知的原因而坚持下去。
在我以为我卸载了所有宝石之后:
matt$ gem1.9 list
*** LOCAL GEMS ***
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)
这里没有宝石:
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/gems/
total 0
drwxr-xr-x 2 root admin 68 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
他们在那里!
matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/specifications/
total 24
drwxr-xr-x 5 root admin 170 Jul 23 14:54 .
drwxr-xr-x 8 root admin 272 Mar 3 14:56 ..
-rw-r--r-- 2 root admin 129 Nov 1 2010 minitest.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rake.gemspec
-rw-r--r-- 2 root admin 121 Nov 1 2010 rdoc.gemspec
删除gemspecs:
matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*
现在宝石已经消失了:
matt$ gem1.9 list
*** LOCAL GEMS ***
答案 3 :(得分:2)
如果您有多个版本的gem,则必须先进行清理,然后删除最终的gem。
gem cleanup <gemname>
gem uninstall <gemname> --version
答案 4 :(得分:2)
我有一颗不会死的宝石,不得不去做所有的事情。#34;使用命令gem uninstall -aIx
删除所有宝石。然后只是gem install <gemname>
,我又回来了。
答案 5 :(得分:0)
更新您的ruby gems版本 gem update --system 然后希望 宝石卸载xxx 将立即工作[是旧版本中的错误]
答案 6 :(得分:0)
查看RVM,它允许您在用户下而不是在系统目录中完全管理ruby环境。我发现使用它来管理ruby版本和gem更加容易。