消除npm“可用更新”消息

时间:2017-10-17 23:34:51

标签: npm

似乎npm的更新版本现在产生:

enter image description here

我依靠我的Linux(Ubuntu)包管理器来决定何时更新node和npm。有没有办法把这个检查关掉?

npm config ls -l似乎没有任何相关内容,在我家里的.npm目录中似乎没有偏好文件。

5 个答案:

答案 0 :(得分:18)

这也令我烦恼,但在任何地方都没有关于它的信息。

查看代码,我发现npm使用的update-notifier-module实际上有几种方法可以将其关闭。

最好的一个可能是位于~/.config/configstore/update-notifier-npm.json的特殊配置文件(只搜索update-notifier-npm.json)。在其中,只需将“optOut”设置为true即可。

禁用它的其他方法是设置一个名为“NO_UPDATE_NOTIFIER”的环境变量或使用参数“--no-update-notifier”

答案 1 :(得分:9)

要禁用通知程序,只需运行:

npm config set update-notifier false

正如Dem Pilafian所说-会将update-notifier=false添加到~/.npmrc

要查看当前值,您需要此行

npm config get update-notifier

https://docs.npmjs.com/cli/config

上了解有关npm config的更多信息。

答案 2 :(得分:3)

update-notifier=false

自NPM v6.2.0-next.0 (2018-06-28)起,.npmrc文件中的

似乎可以解决问题。

答案 3 :(得分:0)

如果要解析npm命令输出,则一个选项是格式化输出,例如“ --json true”,“ npm list --json true”,npm将接受该参数并隐藏升级消息。

答案 4 :(得分:0)

我创建了一个 ansible 任务,将 optOut 设置为 true,将 lastUpdateCheck 设置为当前日期。

tasks/main.yml中:

---

- name: copy update-notifier-npm template file to disable checking for npm updates
  template: src=update-notifier-npm.j2 dest=~/.config/configstore/update-notifier-npm.json

templates/update-notifier-npm.j2中:

{
    "optOut": true,
    "lastUpdateCheck": {{ ansible_date_time.epoch }}000
}

update-notifier 包中创建此文件的逻辑如下:

https://github.com/yeoman/update-notifier/blob/3fdb21876aa391f9bc7dc35b7d81151677fb533d/index.js#L53