如何卸载ruby-install安装的ruby

bjg7j2ky  于 2023-10-17  发布在  Ruby
关注(0)|答案(6)|浏览(206)

我有许多Ruby安装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-install安装的一个ruby,我该怎么做?

dzhpxtsq

dzhpxtsq1#

不幸的是,ruby-install只是下载和编译Ruby,没有删除它的选项,不像RVMrbenv
因此,您可能需要在此处运行一些手动命令来删除所有已安装的文件。

1.定位

通常ruby-install会将rubies安装在~/.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

3.安装gem

如果你想删除已安装的gem,它们通常位于~/.gem/ruby/

xkrw2x1b

xkrw2x1b2#

根据feature request中的响应,删除旧版ruby的最佳方法是返回src目录并运行make uninstallrake uninstall。默认情况下,ruby-install在安装过程中使用$HOME/src/ruby-$version作为ruby版本的解压源代码。
例如,删除Ruby版本2.6.3:

cd $HOME/src/ruby-2.6.3/ && make uninstall

不幸的是,即使这个bug/请求在2016年被打开,这个功能仍然没有在ruby-install中实现。
如果你已经使用默认位置安装了ruby版本,那么你应该通过删除$HOME/.rubies/中的特定子文件夹来确保安全。

rm -rf $HOME/.rubies/ruby-2.6.3

值得注意的是,可能需要手动删除与该ruby版本一起安装的任何gem。
例如

rm -rf $HOME/.gem/ruby/ruby-2.6.3
ttcibm8c

ttcibm8c3#

我的lubuntu虚拟机也遇到了同样的问题!我从登录界面进入shell(按CNTR + ALT + F3),检查了ruby和gem的版本:
ruby -v
gem -v
然后按照chad的建议运行sudo apt-get purge -y ruby。它成功地删除了Ruby和宝石。
然后我重新启动:
reboot
我又可以正常登录了!

bfhwhh0e

bfhwhh0e4#

如果您安装了2.3x(+)软件包,并且需要卸载它,根目录中有一个卸载可执行文件。转到C:/,你会看到ruby文件夹在那里,里面会有unin.exe。这一切都取决于你选择在哪里安装它。

d7v8vwbk

d7v8vwbk5#

如果你是用dpkg或者yum安装软件,那么在卸载软件时,你也应该使用dpkg或者yum来清除软件。
例如,我们想unintall fcitx,
sudo apt-get purge -y fcitx
否则,软件安装手动,使用配置&& make && make install,只需删除安装的目录,当你卸载它。
举个例子只是
rm -rf ~/.rubies/ruby-2.2.0
如果你有疑问是目标ruby清除清楚,只需使用find命令确认。
查找~/ -name“ruby-2.2.0

mgdq6dx1

mgdq6dx16#

你只要把Ruby的位置移走就行了。
例如,卸载ruby-install安装的ruby(默认安装位置为~/.rubies):

rm ~/.rubies/ruby-2.2.0

如果您在删除Ruby 2.2.0-preview 2并安装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

因为每当一个ruby被更新或移动/命名时,由于RubyGems为所有gem可执行文件生成显式的#!/path/to/ruby,将需要用ruby可执行文件的新路径重新生成gem bin存根。

相关问题