gpt4 book ai didi

ruby - 删除旧版本的 gem

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:13 24 4
gpt4 key购买 nike

对于我机器上的一些 gem,有多个版本:

$gem list bigdecimal
bigdecimal (1.2.6, 1.2.5)

$gem list io-console
io-console (0.4.3, 0.4.2)

$gem list json
json (1.8.2, 1.8.1)

...

我想删除旧版本。我尝试了几个命令:

$gem cleanup
Cleaning up installed gems...
Clean Up Complete

$sudo gem cleanup
Cleaning up installed gems...
Clean Up Complete

$gem cleanup json
Cleaning up installed gems...
Clean Up Complete

$sudo gem cleanup json
Cleaning up installed gems...
Clean Up Complete

但旧版本不会被删除。为什么 cleanup 没有检测到旧版本?我怎样才能删除它们?

更新 奇怪的是,我可以手动卸载较新的版本,但不能卸载旧版本。例如,

$ sudo gem uninstall json --version 1.8.1
ERROR: While executing gem ... (Gem::InstallError)
gem "json" cannot be uninstalled because it is a default gem

$ sudo gem uninstall json --version 1.8.2
Successfully uninstalled json-1.8.2

更新 什么是默认 gem?为什么不能删除?

更新 如果我有一个默认的旧版本,是否意味着没有使用较新的版本,而默认的版本由命令 require 调用?

最佳答案

很可能 gem cleanup 没有工作,因为你安装了一些依赖于这些旧版本的东西。您可以通过运行 gem dependency your-gem-name --reverse-dependencies 来检查旧 gem 的依赖项。

如果该命令没有显示任何依赖项,您可以使用 gem uninstall 手动删除旧版本:

# remove specific version
gem uninstall your-gem-name --version 2.1.0

# remove all versions less than a certain version
gem uninstall your-gem-name --version '<2.1.0'

关于ruby - 删除旧版本的 gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27933683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com