У мене є кілька версій дорогоцінного каміння Ruby:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Як можна видалити старі версії, але зберегти найсвіжіші?
У мене є кілька версій дорогоцінного каміння Ruby:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Як можна видалити старі версії, але зберегти найсвіжіші?
Відповіді:
# remove all old versions of the gem
gem cleanup rjb
# choose which ones you want to remove
gem uninstall rjb
# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9
# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'
Для видалення старих версій усіх встановлених дорогоцінних каменів корисні наступні 2 команди:
gem cleanup --dryrun
Команда вгорі буде попередньо переглянути, які дорогоцінні камені будуть видалені.
gem cleanup
Наведена вище команда фактично їх видалить.
Спробуйте щось на кшталт gem uninstall rjb --version 1.3.4
.
Спосіб очищення будь-яких старих версій дорогоцінних каменів.
sudo gem cleanup
Якщо ви просто хочете переглянути список того, що буде видалено, ви можете скористатися:
sudo gem cleanup -d
Ви також можете очистити лише певний дорогоцінний камінь, вказавши його ім'я:
sudo gem cleanup gemname
для видалення конкретної версії, наприклад, 1.1.9
gem uninstall gemname --version 1.1.9
Якщо ви все ще стикаєтеся з деяким винятком, щоб встановити дорогоцінний камінь:
недійсний gem: пакет пошкоджений, виняток під час перевірки: не визначений метод `size 'для nil: NilClass (NoMethodError) в /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2. дорогоцінний камінь
ви можете видалити його з кешу:
rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem
Детальніше:
http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html
sudo
gem cleanup
використовує системні команди. Встановлені дорогоцінні камені - лише каталоги у файловій системі. Якщо ви хочете отримати пакетне видалення, використовуйте rm -R
.
gem environment
і відзначте значення GEM PATHS
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
Можливо, вам знадобиться налаштувати GEM_HOME
очищення для роботи. Ви можете перевірити, які шляхи існують для дорогоцінних файлів, запустивши:
gem env
Візьміть до уваги розділ GEM PATHS.
У моєму випадку, наприклад, з дорогоцінними каменями, встановленими в моєму будинку користувача:
export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup