npm 包 pkg
管理 package.json
概要
npm pkg get [<field>[.<subfield> ...]]
npm pkg set <field>= <value> [.<subfield>= <value> ...]
npm pkg delete <field> [.<subfield>...]
描述
自动管理package.json
文件的命令。 npm pkg
提供 3 个不同的子命令,允许你修改或检索package.json
.
检索和设置字段的语法是在你的package.json
中找到的嵌套对象属性的点分隔表示,它与用于npm view
从注册表清单中检索信息的表示法相同,你可以在下面找到有关如何使用它的更多示例。
返回值始终为json格式。
npm pkg get <field>
检索key
在你的package.json
文件中定义的值。
例如,为了检索当前包的名称,你可以运行:npm pkg get name
也可以一次检索多个值:
npm pkg get version
你可以通过用句点分隔子字段来查看子字段。要检索测试
script
值的值,你可以运行以下命令:npm pkg get scripts.test
对于数组字段,请求非数字字段将返回列表中对象的所有值。例如,要获取一个包的所有贡献者电子邮件,你可以运行:
npm pkg get contributors.email
你还可以使用方括号中的数字索引来专门选择数组字段中的项目。要获取列表中第一个贡献者的电子邮件地址,你可以运行:
npm pkg get contributors[0].email
npm pkg set <field>=<value>
根据值value
在您package.json
的中 设置 afield
。当保存到你的package.json
文件时,使用期间使用的相同规则集npm install
和其他接触package.json
文件的cli 命令,确保尊重现有的缩进,并可能在将值保存到文件之前应用一些验证。
用于从包中检索值的相同语法也可用于定义新属性或覆盖现有属性,以下是如何使用点分隔语法编辑package.json
文件的一些示例 。
定义一个以mynewcommand
命名的新 binpackage.json
指向一个文件cli.js
:npm pkg set bin.mynewcommand = cli.js
也可以一次设置多个字段:
npm pkg set description = 'Awesome package'engines.node = '>=10'
也可以添加到数组值,例如添加一个新的贡献者条目:
npm pkg set contributors[0] .name = 'Foo' contributors[0] .email = 'foo@bar.ca'
你还可以使用特殊的空括号表示法将项目附加到数组的末尾:
npm pkg set contributors[] .name = 'Foo' contributors[] .name = 'Bar'
也可以在将值保存到
package.json
文件之前将它们解析为 json ,例如为了设置"private": true
属性:npm pkg set private = true --json
它还可以将值保存为数字:
npm pkg set tap.timeout = 60 --json
npm pkg delete <key>
删除package.json
中的key
用于从包中设置值的相同语法也可用于删除现有值。例如,为了删除名为 build 的脚本:npm pkg delete scripts.build
工作区支持
你可以使用
workspace
或workspaces
配置选项在配置的工作区中设置/获取/删除项目 。 例如,funding
在项目的所有已配置工作区中设置一个值:npm pkg set fund= https://example.com --ws
当
npm pkg get
用于从您配置的工作区检索信息时,返回的结果将采用 json 格式,其中顶级键是每个工作区的名称,这些键的值将是从每个配置的工作区返回的结果值,例如:npm pkg 获取名称版本 --ws { "a": { "name": "a", “version”:“1.0.0” }, "b":{ "name": "b", "version":“1.0.0” } }
配置
force
- 默认值:
false
- 类型:
Boolean
删除各种针对不幸副作用、常见错误、不必要的性能下降和恶意输入的保护措施。
- 允许在全局安装中破坏非 npm 文件。允许
npm version
命令在不干净的 git 存储库上工作。 - 允许删除缓存文件夹
npm cache clean
。允许安装engines
声明要求不同版本的 npm 的包。 - 允许安装
engines
声明要求不同版本 的包node
,即使--engine-strict
已启用。 - 允许
npm audit fix
在您声明的依赖范围之外安装模块(包括 SemVer 主要更改)。 - 允许取消发布已发布包的所有版本
- 允许在根项目中安装冲突的 peerDependencies。
--yes
期间隐式设置npm init
。 - 允许破坏现有值
npm pkg
如果你不清楚自己要做什么,强烈建议你不要使用此选项!
json
- 默认值:
false
- 类型:
Boolean
是否输出JSON数据,而不是正常输出。
npm pkg set
它允许在将设置值保存到你的package.json
.并非所有 npm 命令都支持。
workspace 工作区
- 默认:
- 类型:
String
(可多次设置)
允许在当前项目的已配置工作区的上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。
workspace
配置的有效值为:
- 工作区名称
- 工作区目录的路径
- 父工作区目录的路径(将导致选择所有嵌套工作区)
为该npm init
命令设置时,可以将其设置为尚不存在的工作区的文件夹,以创建该文件夹并将其设置为项目中的全新工作区。
此值不会导出到子进程的环境中。
workspaces 工作区
- 默认值:
false
- 类型:
Boolean
启用在所有已配置工作区的上下文中运行命令。
此值不会导出到子进程的环境中。
更多建议: