我在 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 之一,我该怎么做?
我在 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 之一,我该怎么做?
不幸的是,似乎ruby-install
只是下载和编译 Ruby,没有删除它的选项,不像RVM
or rbenv
。
因此,您可能需要在此处运行一些手动命令来删除所有已安装的文件。
通常ruby-install
会将红宝石安装在~/.rubies/
文件夹中。
如果您不确定使用哪个 ruby 安装ruby-install
,请找到该文件.installed.list
,因为它在 Ruby 安装期间有一个已安装文件的列表。如果您想快速找到它,只需运行locate .installed.list
,您将获得它们的简短列表。
然后cat
对位于您要删除的版本的文件运行 a ,以确保哪个是您要删除的 ruby 安装的根文件夹。
然后您可以删除目标版本所在的文件夹。
如果要删除ruby-1.9.3-p545
,请运行:
rm -Rf ~/.rubies/ruby-1.9.3-p545
根据功能请求中的响应,删除旧 ruby 版本的最佳方法是返回src
目录并运行make uninstall
or 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
.
如果您使用默认位置安装了 ruby 版本,那么您应该通过删除$HOME/.rubies/
.
rm -rf $HOME/.rubies/ruby-2.6.3
值得注意的是,可能需要手动删除使用该 ruby 版本安装的任何 gem。
例如
rm -rf $HOME/.gem/ruby/ruby-2.6.3
如果您安装了包 2.3x(+) 并且需要卸载它,那么根目录中有一个卸载可执行文件。转到 C:/,你会在那里看到 ruby 文件夹,里面有 unin.exe。这一切都取决于您选择安装它的位置。
我的 lubuntu 虚拟机遇到了完全相同的问题!我从登录屏幕(按CNTR + ALT + F3
)进入 shell 并检查了 ruby 和 gem 的版本:
ruby -v
gem -v
然后我sudo apt-get purge -y ruby
按照乍得的建议跑步。它成功地删除了红宝石和宝石。
然后我重新启动:
reboot
我能够再次正常登录!
您只需删除红宝石所在的位置。
例如卸载 ruby-install 安装的 ruby(默认安装位置为~/.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
因为每当 ruby 更新或可能移动/命名时,由于 RubyGems 正在#!/path/to/ruby
为所有 gem 可执行文件生成显式,因此需要使用 ruby 可执行文件的新路径重新生成 gem bin 存根。
如果你用dpkg或者yum安装soft,卸载的时候也应该用dpkg或者yum来清除。
例如,我们要卸载 fcitx,
sudo apt-get purge -y fcitx
否则,手动软安装,使用配置 && make && make install ,只需删除卸载时安装的目录即可。
以你为例。只是
rm -rf ~/.rubies/ruby-2.2.0
如果您怀疑目标 ruby 是否明确删除,只需使用 find 命令确认即可。
找到 ~/ -name " ruby-2.2.0 "