2017-01-10 7 views
3

Я хочу освободить место на диске в моей производственной среде, занятой драгоценными камнями, установленными для старых рубиновых версий. Я не верю, что bundle clean будет работать в этом случае, потому что я не думаю, что он очищает старые драгоценные камни от других рубинов.Как удалить драгоценные камни для старых рубиновых версий, установленных пакером?

Эти драгоценные камни установлены через capistrano и устанавливаются в обычном месте, а не в системе. В моем /path/to/my-project/shared/bundle/ruby дир, я представляю 2 подпрограммы - 2.2.0 & 2.3.0. Поскольку я теперь использую ruby ​​2.3, безопасно ли просто удалить каталог 2.2.0? Есть что-то еще, что мне нужно сделать?

+0

, что производственная среда вы используете? не должны ли они уйти после развертывания? –

+0

Это рельсы, и я использую capistrano для развертывания, но [capistrano ничего не чистит] (https://github.com/bundler/bundler/issues/1926), потому что это повлияет на способность отката. – robd

ответ

2

Используйте "sudo gem cleanup", чтобы удалить все ранее установленные драгоценные камни, которые соответствуют всем зависимостям от старой версии рубина. Вы можете увидеть все драгоценные камни, которые будут удалены командой «sudo gem cleanup -d»

+0

Это интересно - спасибо. Я забыл упомянуть, что они установлены в настраиваемом месте через bundler (теперь обновляется q). Знаете ли вы, есть ли эквивалент пакета (я думаю, нет)? – robd

0

Перейдите в Gemfile.lock и удалите все содержимое. Затем вы перейдете в Gemfile и удалите драгоценные камни, которые вам больше не нужны. После того, как вы наберете пакет, установите его, и он установит только те, которые вы хотите.

+0

Я не думаю, что это удалит любые драгоценные камни, ни для текущей рубиновой версии, ни для старых. Также это приведет к установке последних версий всех драгоценных камней в Gemfile, что я не хочу делать. Я что-то не понял? – robd

1

вот как вы можете удалить определенную версию драгоценного камня:

gem uninstall (gem name here) --version (version number here)