为什么在 package.json 中设置 "private": true 时 "No license field" 警告消失

Why does "No license field" Warning Disappear when you set "private": true in your package.json

我有一个 React 应用程序,它通过 yarn install 安装它的依赖项。当我 运行 此命令时,我收到以下 No license field 相关警告。

warning package.json: No license field
warning react-material-dashboard@0.3.0: No license field

然后我将 package.json 文件的 private 属性 更新为 true。 (参见 NPM docs

{
  "name": "some-application-name",
  "author": "Keet Sugathadasa",
  "email": "email",
  "license": "MIT",
  "version": "0.0.1",
  "private": true,
  ...
}

现在,所有与 No license field 相关的警告都消失了。 为什么?

警告抱怨没有 license 字段(带有 s),但是您有一个 licence 字段(带有 c),更正拼写,警告就会消失。

设置 "private": true 起作用并防止警告出现的原因是私有包不会分发,因此不需要许可证。