从 ruby​​gems“gem update”命令中排除某些 gem

Sea*_*sey 0 ruby rubygems

我有一个纯粹为了个人使用而维护的 gem,它恰好与 ruby​​gems.org 上托管的旧 gem 有名称冲突。当我运行时gem update,会下载 ruby​​gems.org 版本。我想阻止这种情况发生。我知道我可以明确指定要包含哪些 gem gem update,但是我可以指定要排除哪些内容吗?

Jos*_*eek 5

很确定你不能,但你可以相当容易地编写一个解决方案脚本(在unix上):

gem list --local | awk '{print $1}' | grep -v YOUR_GEMNAME | xargs gem update
Run Code Online (Sandbox Code Playgroud)

另外,最近几次查看 Rubygems 源代码给我留下了深刻的印象,添加此功能可能不会很困难。他们可能会接受拉取请求。

  • 您还可以使用 **gem outdated** 选项,然后一一更新特定的 gem。 (2认同)