摆脱不会死的红宝石宝石

时间:2009-06-16 10:42:17

标签: ruby-on-rails ruby rubygems

我有一些不会消失的红宝石宝石。

我认为这与我安装它们时有关。偶尔我会忘记在进行gem安装之前使用“sudo”,这会导致写入错误,并且我可以收集的内容会将gem的副本放在我的用户目录中,而不是它可以运行的某个地方。但是宝石卸载不起作用。它不断显示在'gem list'中,但不能从gem uninstall或sudo gem uninstall中卸载它。我在“宝石环境”中找到路径后尝试直接删除一个宝石,但仍然将宝石留在列表中。

还可以删除所有宝石并从头开始吗?这些让我疯狂。

我正在运行OS X.

7 个答案:

答案 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更加容易。