Я работаю над блоком Octopress, поэтому я создал отдельный гемсет и сделал rvm use gemset octopress
. Все работало нормально. Тем не менее, я открыл новую вкладку ZSH (я нахожусь в OS X Mountain Lion, если это актуально), и она вернулась к предыдущему гемсету, который я использовал. Я не знал, что в этот момент, поэтому, я побежал bundle install
. Я заметил, что он установил все драгоценные камни, которые я уже установил в gemset Octopress, поэтому я понял, что происходит. Вопрос: есть ли простой способ отменить этот bundle install
, так что у меня нет всех этих драгоценных камней в другом наборе gemset, или я должен удалить их вручную gem с помощью gem (их довольно много). Благодарю.Как отменить установку пакета?
ответ
вы можете очистить gemsets с РВМ:
rvm gemset empty
будет удалить все камни из выбранного gemset, вы также можете переключить temporarly в другой gemset с:
rvm @the-other-gemset do rvm gemset empty
Приятно, спасибо. Итак, идея состоит в том, что я опорожнил соответствующий гемсет, а затем из правильной папки приложения я запускаю установку пакета, чтобы заполнить ее только камнями, необходимыми для этого конкретного приложения, не так ли? –
Да, это будет работать так, как вы хотите – mpapis
Пару дней назад У меня возникла такая же проблема (еще раз) и решила ее, написав эту команду:
$ threshold="20m"; dir="`rvm gemdir`/gems"; find -X "$dir" -type d -maxdepth 1 -mindepth 1 -mtime -"$threshold" | xargs basename | sed -e 's/-\(\([0-9]\{1,\}.\)*[0-9]\{1,\}\)$/ \1/g' -e 's/\(.*\) \(.*\)/gem uninstall \1 --version \2 --executables --ignore-dependencies \&/g'
Он генерирует столько команд, сколько необходимо для удаления каждого драгоценного камня, который был добавлен после заданного порога (выше 20 минут). Затем вы просто копируете и вставляете эти строки в командной строке.
Перед выполнение моей команды:
- убедитесь, что ток gemset является тот, который испорчен
- установить
threshold
на значение, которое соответствует вашим потребностям
Например, выше команда может генерировать следующие строки:
gem uninstall elasticsearch --version 1.0.1 --executables --ignore-dependencies &
gem uninstall elasticsearch-api --version 1.0.1 --executables --ignore-dependencies &
gem uninstall elasticsearch-extensions --version 0.0.14 --executables --ignore-dependencies &
gem uninstall elasticsearch-transport --version 1.0.1 --executables --ignore-dependencies &
Если вы хотите получить дополнительную информацию, я разместил здесь статью: http://noteslog.com/post/how-to-undo-a-wrong-bundle-install/
Если вы хотите использовать определенные версии Gems, просто укажите их в файле gem и обновлении пакета запусков. Если есть драгоценные камни, которые вам не нужны или вам нужно просто удалить gem Gem_name –
Вы правильно ответили на свой вопрос. Мне нравится копировать/вставлять выходные данные установки пакета в текстовый файл для ссылки, прежде чем начинать деинсталляцию любых драгоценных камней. – Teddy