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

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

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

我正在运行OS X.

有帮助吗?

解决方案

假设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

如果您的系统上存在此文件夹,则可以像以前一样删除此文件夹,以确保删除所有宝石。

其他提示

您还可以执行以下操作以摆脱已安装的宝石。

gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]

如果前面提到的东西不起作用,我今天必须自己做。

我有一个类似的问题,但根本问题结果是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 ***

如果您有多个版本的gem,则必须先进行清理,然后删除最终的gem。

 gem cleanup <gemname>
 gem uninstall <gemname> --version

我有一颗不会死的宝石,不得不去<!>“nuke everything <!>”;使用命令gem uninstall -aIx删除所有宝石。然后只是gem install <gemname>然后我又回来了。

更新您的ruby gems版本 gem update --system 然后希望 宝石卸载xxx 将立即工作[是旧版本中的错误]

查看 RVM ,它可以让您在用户下完全管理您的ruby环境,而不是在系统目录。我发现使用它来管理ruby版本和gem更加容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top