Как удалить ruby, установленный через ruby-install
У меня много рубинов, установленных с помощью ruby-install ~/.rubies
:
ls .rubies
ruby-1.9.3-p545 ruby-2.0.0-p598 ruby-2.1.3 ruby-2.1.5
ruby-2.0.0-p451 ruby-2.1.2 ruby-2.1.4 ruby-2.2.0
Я хочу удалить один из ruby, установленный с помощью ruby-install. Как мне это сделать?
5 ответов
К сожалению, кажется, что ruby-install
просто скачивает и компилирует Ruby, без возможности удалить его, в отличие от RVM
или же rbenv
,
Так что, вероятно, вам нужно будет выполнить несколько ручных команд, чтобы удалить все установленные файлы.
1. Найдите это
Обычно ruby-install
установит рубины в ~/.rubies/
папка.
Если вы не уверены, какой ruby был установлен с помощью ruby-install
найдите файл .installed.list
, поскольку у него есть список установленных файлов во время установки Ruby. Если вы хотите быстро найти его, просто запустите locate .installed.list
и вы получите короткий список из них.
Затем запустите cat
в файле, расположенном в версии, которую вы хотите удалить, чтобы убедиться, что является корневой папкой для установки ruby, которую вы хотите удалить.
2. Удалить это
Затем вы можете просто удалить папку, в которой находится целевая версия.
Если вы хотите удалить ruby-1.9.3-p545
, бежать:
rm -Rf ~/.rubies/ruby-1.9.3-p545
На основе ответов на запрос функции, лучший способ удалить более старые версии Ruby - вернуться кsrc
каталог и запустить make uninstall
или rake uninstall
. По умолчанию,ruby-install
использует $HOME/src/ruby-$version
для распакованных исходников версий ruby при установке.
Например, удаление Ruby версии 2.6.3:
cd $HOME/src/ruby-2.6.3/ && make uninstall
К сожалению, несмотря на то, что эта ошибка / запрос была открыта в 2016 году, эта функция все еще не реализована в ruby-install
.
Если вы установили рубиновую версию, используя местоположения по умолчанию, тогда вы должны быть в безопасности, удалив определенную подпапку внутри $HOME/.rubies/
.
rm -rf $HOME/.rubies/ruby-2.6.3
Стоит отметить, что может потребоваться вручную удалить все драгоценные камни, установленные с этой версией ruby.
например
rm -rf $HOME/.gem/ruby/ruby-2.6.3
Если вы установили пакет 2.3x(+) и вам нужно удалить его, внутри корневого каталога будет удаленный исполняемый файл. Перейдите в C:/, и вы увидите там папку ruby, внутри нее будет файл unin.exe. Все зависит от того, где вы решили его установить.
У меня была точно такая же проблема с моей виртуальной машиной lubuntu! Я зашел в оболочку с экрана входа в систему (нажав CNTR + ALT + F3
) и проверил версии ruby и gem:
ruby -v
gem -v
тогда я бегу sudo apt-get purge -y ruby
как предложено Чад. Он успешно удалил как рубин, так и драгоценный камень.
Затем я перезагрузился с:
reboot
И я снова смог нормально войти в систему!
Если вы устанавливаете soft с помощью dpkg или yum, то при его удалении вы также должны использовать dpkg или yum для его очистки.
например, мы хотим удалить fcitx,
sudo apt-get purge -y fcitx
в противном случае, для мягкой установки вручную, используйте конфигурацию && make && make install, просто удалите каталог, установленный при его удалении.
для тебя пример. просто
rm -rf ~/.rubies/ruby-2.2.0
если у вас есть сомнения в том, что целевой рубин явно удаляется, просто используйте команду find для подтверждения.
найти ~ / -name "ruby-2.2.0"
Вы просто удалите, где находится рубин.
Например, удалите ruby, установленный с помощью ruby-install (расположение по умолчанию: ~/.rubies
):
rm ~/.rubies/ruby-2.2.0
Если вы видите такую ошибку после удаления Ruby 2.2.0-preview2 и установки Ruby 2.2.0-p0, например:
$ bundle -v
zsh: /Users/Juan/.gem/ruby/2.2.0/bin/bundle: bad interpreter:
/Users/Juan/.rubies/ruby-2.2.0-preview2/bin/ruby: no such file or directory
Вам нужно бежать
gem pristin --only-executables
Потому что всякий раз, когда рубин обновляется или, возможно, перемещается / именуется, из-за RubyGems генерирует явное #!/path/to/ruby
для всех исполняемых файлов gem потребуется заново создать заглушки для бинов с новым путем к исполняемому файлу ruby.