如果我的代码仅供我工作的公司使用,我应该在 package.json 的许可证字段中输入什么?

What should I put in the license field of package.json if my code is only for use by the company I work for?

NPM 2.11.3

我正在用 Node.js 构建一个库。该库仅供我目前工作的公司使用。我认为这意味着许可证是“None”。但是当我 npm init 它要我使用 SPDX 许可证时。 “None”或“未授权”不是有效选项。

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

在 NPM GitHub 问题跟踪器上对此进行了一些讨论,但我找不到任何明确回答这个问题的内容。也许 NPM 不支持这个概念,但这看起来很奇怪。

在这种情况下,我应该在这个字段中输入什么?我想摆脱与此相关的 npm 警告。

虽然文档说 UNLICENSED 有效,但它仍然给出警告:

$ cat package.json | grep licen
  "license": "UNLICENSED",

$ npm install 
npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

使用 UNLICENSEDthe npm docs:

Finally, if you do not wish to grant others the right to use a private or unpublished package under any terms:

{
  "license": "UNLICENSED"
}

这不要与被混淆地称为 "The Unlicense" 的许可证混淆。

在此 link、https://spdx.org/licenses/ 上找到的 table 的第二列,您可以看到在 package.json 中使用的所有不同的 SPDX 格式。

列的名称是 Identifier 以防万一。谢谢,希望对您有所帮助。

at the time of writing UNLICENSED (see the code sample in the question) was not an option please see

private 添加到 package.json 将有助于:

"private": true

对我来说,我在代码中放置的任何许可证都不起作用。但是后来我想通了,父目录中有一个无效的 package.json 。删除它后,这解决了所有问题。