似乎npm的更新版本现在产生:
我依靠我的Linux(Ubuntu)包管理器来决定何时更新node和npm。有没有办法把这个检查关掉?
npm config ls -l
似乎没有任何相关内容,在我家里的.npm
目录中似乎没有偏好文件。
答案 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
上了解有关npm config的更多信息。
答案 2 :(得分:3)
答案 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