[英]getting rid of ruby gems that won't die
我有一些 ruby 宝石,它们不会 go 消失。
我认为这与我安装它们的时间有关。 有时我忘记在安装 gem 之前使用“sudo”,这会导致写入错误,并且根据我收集到的信息,我会将 gem 的副本放在我的用户目录中,而不是它可以运行的地方。 但是 gem uninstall 不起作用。 它不断出现在“gem list”中,但无法通过 gem uninstall 或 sudo gem uninstall 将其卸载。 在我的“gem 环境”中找到路径后,我尝试直接删除一个 gem,但仍然将 gem 留在列表中。
也可以只删除所有宝石并从头开始吗? 这些让我抓狂。
我正在运行 OS X。
假设gem clean
(或sudo gem clean
)不起作用,我会尝试以下操作以从您的系统中完全删除所有 gem:
您可以通过运行以下命令查看已安装 gems 的位置:
gem env paths
要删除系统上的所有 gem,只需删除此命令返回的文件夹即可。
此外,在 OSX Leopard 上,默认 gem 安装在这个文件夹中:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
如果您的系统上存在此文件夹,您可以像以前一样删除此文件夹以确保删除所有 gem。
您还可以执行以下操作来删除已安装的 gem。
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
删除宝石规格:
matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*
现在宝石不见了:
matt$ gem1.9 list
*** LOCAL GEMS ***
我有一个不会死的 gem 并且必须通过命令gem uninstall -aIx
删除我的所有 gem 来 go “nuke everything”路线。 然后只需gem install <gemname>
恢复运行。
如果您有一个 gem 的多个版本,您必须先进行清理,然后删除最终的 gem。
gem cleanup <gemname>
gem uninstall <gemname> --version
通过运行gem update --system
更新您的 ruby gems 版本,然后,希望gem uninstall xxx
可以工作。 [这是旧版本中的错误。]
查看RVM ,它允许您在您的用户下而不是在系统目录中完全管理您的 ruby 环境。 我发现使用它更容易管理 ruby 版本和 gem。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.