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

NPM 2.11.3

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

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

在 NPM 的 GitHub 问题追踪器上有一些关于这个问题的讨论,但是我找不到任何明确的答案。也许 NPM 不支持这个概念,但这似乎很奇怪。

在这种情况下,这个字段应该放什么?我想去掉与此相关的 npm 警告。

虽然医生说“无证驾驶”是有效的,但它仍然给出了警告:

$ 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
118593 次浏览

使用 UNLICENSED/NPM 文件:

最后,如果您不希望在任何条款下授予其他人使用私有或未发布软件包的权利:

{
"license": "UNLICENSED"
}

这不要与被混淆地称为 《无证驾驶》的许可证混淆。

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

专栏的名字是 Identifier,以防万一。谢谢,希望能有所帮助。

在编写 UNLICENSED 时(请参见 问题)不是一个选项请参阅 jcolum 的回答

private添加到 package.json将有所帮助:

"private": true

对我来说,无论我在代码中放入什么许可证都不起作用。但是后来我发现,在父目录中有一个无效的 package.json。移除之后,所有的问题都解决了。