哦,我的 Zsh - 禁用“是否要检查更新”提示

127
每次在 Mac 上打开终端时,我都会看到提示:

您是否想检查更新?

我觉得这很烦人。有没有办法阻止它这样做?


2
我很好奇如何使更新变得无人值守而不是禁用它。 - sorin
这不仅令人恼火,而且它甚至没有备份就彻底删除了我的原始.zshrc文件。 - luis.espinal
1
@sorin 三年后,这里是它。请参考我下面的答案zstyle ':omz:update' mode auto - om-ha
4个回答

181

设置环境变量 DISABLE_UPDATE_PROMPT=true 来始终回答 并自动升级。

设置环境变量 DISABLE_AUTO_UPDATE=true 来始终回答 并永不升级。

在调用 source $ZSH/oh-my-zsh.sh 之前,在您的 ~/.zshrc 中的任何位置添加其中一个即可。


2
有没有办法在不禁用提示的情况下减少其出现的频率? - Dave
24
还有一个名为 UPDATE_ZSH_DAYS 的变量。它接受一个整数来指定以天为单位的更新频率。 - RedBassett
2
所有这些设置现在都可以在您的 ~/.zshrc 中找到(带有注释!)。 - AlG
1
禁用更新提示应该是默认设置。因为这个烦人的问题,我可能有一天会放弃使用ohmyzsh。 - KFL

114

source $ZSH/oh-my-zsh.sh这行代码前,你需要在.zshrc文件中添加DISABLE_AUTO_UPDATE="true"。这样一来,oh-my-zsh就会跳过更新检查脚本。


40

其他回答中的弃用内容

其他回答可能会引用已弃用的方法来更新设置。

根据OhMyZsh wiki上的一节,有一个关于已弃用的设置的部分。

这些设置仍然受支持,但将在未来的Oh My Zsh版本中被删除。在您还能做到之前,请迁移到zstyle设置。

例如,以下两种方法可以达到相同的结果:

A. 修改设置的已弃用方法(在.zshrc中的环境变量)

DISABLE_AUTO_UPDATE=true

B. 推荐修改设置的方法(zstyle 设置)

zstyle ':omz:update' mode disabled

我很惊讶没有人提到新的、经过精细调整的OhMyZsh更新控制方式,它废除了旧的方法。

当然,这并不妨碍您从.zshrc调用zstyle。

您可以尝试OMZ文档中提到的以下命令:

OMZ文档--获取更新

您有几个选项来调整OMZ更新。

  • 默认情况下,您将被提示每2周检查更新。您可以在加载Oh My Zsh之前,通过向~/.zshrc文件添加一行来选择其他更新模式:

  • 无需确认提示进行自动更新:

zstyle ':omz:update' mode auto
  • 如果有更新可用,每隔几天提醒一次:
zstyle ':omz:update' mode reminder
  • 完全禁用自动更新:
zstyle ':omz:update' mode disabled
  • 注意: 您可以通过以下设置控制Oh My Zsh检查更新的频率:
(Note: 您可以通过以下设置控制Oh My Zsh检查更新的频率)
# This will check for updates every 7 days
zstyle ':omz:update' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ':omz:update' frequency 0

重要提示(zstyle的前置条件)

  • 请注意,以上命令(zstyle)必须在OhMyZsh shell内执行。
  • 换句话说,在安装ZSH和OhMyZsh后,您可能决定不将默认shell更改为ZSH。
  • 在这种情况下,您需要暂时切换到ZSH shell才能运行上述命令。 您可以使用exec /bin/zsh来实现,并且这可能也适用于.zshrc文件。

理解zstyle

  • 警告:这是一个潜在的兔子洞 :)
  • 在线文档
  • 手册页面:man zshmodules
  • 查看此问题中的一些深入回答。

1
有趣!我想知道在.zshrc中使用zstyle还是环境变量是否存在功能或性能差异。 - flyingsandwich
1
@flyingsandwich 这是一个好问题,我不知道有任何性能差异。但是对于功能性而言,在.zshrc中使用环境变量已经被弃用,并将在未来被删除。鼓励使用zstyle代替。这是相关来源。请注意,您可以在.zshrc文件中调用和使用zstyle - om-ha
我会相应地更新我的答案,我不知道环境变量方法已经被弃用了。谢谢! - om-ha
1
一个额外的功能区别是:与变量不同,它们可以在不同的上下文中有不同的值,而且与 shell 选项不同,它们可以接受值。 - om-ha
1
哦,这里的文档实际上回答了我的问题:https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#update-settings。默认值是“prompt”,而reminder只是一个提醒。 - mowwwalker
显示剩余2条评论

1
去 ~/.oh-my-zsh/tools/check-for-upgrade.sh,然后用以下内容替换该文件的所有内容
true;

一切其他的似乎都不可靠。

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