Избавиться от рубиновых камней, которые не умрут

У меня есть несколько рубиновых камней, которые не исчезнут.

Я думаю, что это связано с тем, когда я их установил. Иногда я забыл использовать "sudo" перед выполнением установки gem, что приводит к ошибке записи, и из того, что я могу собрать, помещает копию драгоценного камня в каталог пользователя, а не где-нибудь, где он может работать. Но удаление gem не работает. Он постоянно отображается в "списке драгоценных камней", но не может удалить его ни с удалением gem, ни с sudo gem uninstall. Я попытался сразу удалить один камень после поиска пути в моей "среде драгоценных камней", но это все еще оставило драгоценный камень в списке.

Также можно просто удалить все драгоценные камни и начать с нуля? Это сводит меня с ума.

Я запускаю OS X.

Ответ 1

Предполагая, что gem clean (или sudo gem clean) не работает, я попробую следующее полностью удалить все драгоценные камни из вашей системы:

Вы можете увидеть, где были установлены камни, выполнив команду:

gem env paths

Чтобы удалить все драгоценные камни в вашей системе, просто удалите папки, возвращенные этой командой.

Кроме того, на OSX Leopard в этой папке устанавливаются камни по умолчанию:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Если эта папка существует в вашей системе, как и прежде, вы можете удалить эту папку, чтобы гарантировать, что все драгоценные камни будут удалены.

Ответ 2

У меня была аналогичная проблема, но проблема с корнем оказалась 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

Вы также можете сделать следующее, чтобы избавиться от установленных драгоценных камней.

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

Если предыдущие вещи не работают, я должен был сделать это сам сегодня.

Ответ 4

Если у вас есть несколько версий драгоценного камня, вам сначала нужно выполнить очистку, а затем удалить последний камень.

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

Ответ 5

У меня был драгоценный камень, который не умрет и должен был пройти маршрут "nuke all", удалив все мои драгоценные камни командой gem uninstall -aIx. Затем просто gem install <gemname>, и я вернулся и работал.

Ответ 6

обновите свою версию рубиновых драгоценных камней gem update --system то, надеюсь gem удалить xxx будет работать прямо сейчас [была ошибкой в ​​более старых версиях]

Ответ 7

Отъезд RVM, он позволяет полностью управлять вашей рубиновой средой под своим пользователем, а не в системном каталоге. Мне было гораздо легче управлять рубиновыми версиями и драгоценными камнями, используя его.