如何移除/卸载旧版本的 gem?

21

我在Rails服务器运行时更新了一个gem,现在我的gemset中安装了两个版本的gem。

我使用bundle update bootstrap-sass进行更新,现在有2.0.12.0.2两个版本。

服务器似乎正在提供2.0.2版本,因此我认为它应该在更新时删除了2.0.1版本,但由于gem正在使用中,因此没有删除。

如何正确更新gem以便服务器使用2.0.2而不是2.0.1版本,或者如何删除2.0.1版本的gem?


1
你可以通过在Gemfile中声明<gemname>,'2.0.2'来明确告诉你的程序使用2.0.2版本。 - uday
1
可能是卸载旧的Ruby gem版本的重复问题。 - 410 gone
2个回答

33
你可以使用以下命令删除特定版本的 gem:

gem uninstall gem_name -v version_number

gem uninstall gem_name --version version

卸载 bootstrap-sass 2.0.1 ,请使用以下命令:

gem uninstall bootstrap-sass --version 2.0.1

作为替代,你可以像其他人建议的那样告诉bundler使用特定版本。在你的Gemfile中只使用2.0.2版本:

gem 'bootstrap-sass', '2.0.2'
或者
gem 'bootstrap-sass', '~> 2.0.2'

将使用高于2.0.2但低于2.1的最新版本。

有关更多信息,请参见“在Gemfile中指定版本”。


谢谢Paul。我选择使用你的脚本卸载了2.0.1版本,现在它已经按照要求使用2.0.2版本了。我以前从未更新过gem,你认为这是因为我在更新时web服务器正在运行吗? - user1116573

1

这将移除版本2.0.1和2.0.2:

gem uninstall bootstrap-sass --version 2.0.1
gem uninstall bootstrap-sass --version 2.0.2

这将删除所有旧版本的 gem 包:

gem cleanup bootstrap-sass

这让您可以选择您想要删除的选项:

gem uninstall bootstrap-sass

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接