2015-01-13 3 views
1

Для некоторых драгоценных камней на моей машине, существует несколько версий:Удаление старых версий драгоценных камней

$gem list bigdecimal 
bigdecimal (1.2.6, 1.2.5) 

$gem list io-console 
io-console (0.4.3, 0.4.2) 

$gem list json 
json (1.8.2, 1.8.1) 

... 

Я хочу, чтобы удалить старые версии. Я пробовал несколько команд:

$gem cleanup 
Cleaning up installed gems... 
Clean Up Complete 

$sudo gem cleanup 
Cleaning up installed gems... 
Clean Up Complete 

$gem cleanup json 
Cleaning up installed gems... 
Clean Up Complete 

$sudo gem cleanup json 
Cleaning up installed gems... 
Clean Up Complete 

но старые версии не удаляются. Почему старые версии не обнаружены cleanup? Как я могу их удалить?

Обновление Странно то, что я могу вручную удалить новые версии, но не старые. Например,

$ sudo gem uninstall json --version 1.8.1 
ERROR: While executing gem ... (Gem::InstallError) 
    gem "json" cannot be uninstalled because it is a default gem 

$ sudo gem uninstall json --version 1.8.2 
Successfully uninstalled json-1.8.2 

Обновление Что по умолчанию драгоценный камень стоит? Почему он не может быть удален?

Update Если у меня есть старая версия по умолчанию, это означает, что новая версия не используется и по умолчанию один вызывается командой require?

ответ

1

Возможно, что gem cleanup не работает, потому что у вас есть что-то установленное с зависимостями от этих старых версий. Вы можете проверить, что имеет зависимости от ваших старых драгоценных камней, запустив gem dependency your-gem-name --reverse-dependencies.

Если эта команда не покажет вам никаких зависимостей вы можете вручную удалить старые версии с gem uninstall:

# remove specific version 
gem uninstall your-gem-name --version 2.1.0 

# remove all versions less than a certain version 
gem uninstall your-gem-name --version '<2.1.0' 
+1

Я попытался '$ Sudo камень деинсталлировать --version 1.8.1' JSON, и это дает 'ERROR: при выполнении gem ... (Gem :: InstallError) gem" json "не может быть удалён, потому что это драгоценный камень по умолчанию. – sawa

+0

Вы используете RVM? – BarFooBar

+0

Нет, я не использую RVM. – sawa

Смежные вопросы