1、npm shrinkwrap
1.1 使用语法
npm shrinkwrap
1.2 描述
此命令用于锁定发布的依赖版本。
此命令将 package-lock.json
重新用于可发布的 npm-shrinkwrap.json
或简单地创建一个新的。 此命令创建和更新的文件将优先于任何其他现有或未来的 package-lock.json
文件。
2、npm star
2.1 使用语法
npm star [<package-spec>...]
2.1 描述
此命令可以用来标记你喜欢的包。在git对应仓库页面上,可以看到对应star数。
3、npm stars
3.1 使用语法
npm stars [<user>]
3.2 描述
此命令可以查看标记为收藏夹的包。
如果你已为许多整洁的事物加注星标并想快速再次找到它们,则此命令可让你做到这一点。
4、npm start
4.1 使用语法
npm start [-- <args>]
4.2 描述
这将运行在包的 "scripts"
对象的 "start"
属性中指定的预定义命令。
如果 "scripts"
对象没有定义 "start"
属性,npm 将运行 node server.js
。
请注意,这与使用 node .
调用时运行包的 "main"
属性中指定的文件的默认 node 行为不同。
示例:
{ "scripts": { "start": "node foo.js" } }
5、npm stop
此命令用来停止一个包
5.1 使用语法
npm stop [-- <args>]
5.2 描述
这将运行在包的 "scripts" 对象的 "stop" 属性中指定的预定义命令。
与 npm startnpm startnpm start 不同,如果未定义 "stop"
属性,则不会运行默认脚本。
{ "scripts": { "stop": "node bar.js" } }
6、npm team
此命令用来管理组织团队和团队成员资格。
6.1 使用语法
npm team create <scope:team> [--otp <otpcode>] npm team destroy <scope:team> [--otp <otpcode>] npm team add <scope:team> <user> [--otp <otpcode>] npm team rm <scope:team> <user> [--otp <otpcode>] npm team ls <scope>|<scope:team>
6.2 描述
用于管理组织中的团队,以及更改团队成员。 不处理包的权限。
团队在对其进行操作时,必须始终完全符合他们所属的组织/范围,用冒号 (:
) 分隔。 也就是说,如果你在 org
组织中有 newteam
团队,则在这些命令中必须始终将该团队称为 @org:newteam
。
如果你在 auth-and-writes
模式下启用了双重身份验证,则可以使用 [--otp <otpcode>]
提供来自身份验证器的代码。 如果你不包括这个,那么你将被带到基于你的 authtype
的第二个因素流。
- create / destroy: 创建一个新团队,或摧毁现有团队。 注意: 你不能删除
developers
团队
以下是在org
组织下创建新团队newteam
的方法:
npm team create @org:newteam
- add: 将用户添加到现有团队。
将新用户 username
添加到 org
组织下名为 newteam
的团队:
npm team add @org:newteam username
成功后,你应该会看到一条消息: username added to @org:newteam
- rm: 使用
npm team rm
,你还可以从他们所属的团队中删除用户。
这是从org
组织中的newteam
团队中删除用户username
的示例:
npm team rm @org:newteam username
删除用户后,将显示一条确认消息: username removed from @org:newteam
- ls: 如果对组织名称执行,将返回该组织下现有团队的列表。 如果对团队执行,它将返回属于该特定团队的所有用户的列表。
以下是如何列出来自名为 org
的组织的所有团队的示例:
npm team ls @org
列出名为 newteam
的团队的所有成员的示例:
npm team ls @org:newteam
6.3 详情
npm team
始终直接在当前注册表上运行,可以使用 --registry=<registry url>
从命令行进行配置。
你必须是团队管理员才能在给定组织下创建团队和管理团队成员资格。 列出团队和团队成员资格可由组织的任何成员完成。
团队管理员和组织成员的组织创建和管理是通过网站完成的,而不是 npm CLI。
要使用团队管理属于你组织的包的权限,请使用 npm access
命令授予或撤销适当的权限。
7、npm test
此命令用来测试一个包。
7.1 使用语法
npm test [-- <args>] 别名: tst, t
7.2 描述
这将运行在包的 "scripts"
对象的 "test"
属性中指定的预定义命令。
示例:
{ "scripts": { "test": "node test.js" } }
8、npm token
此命令用来管理你的身份验证令牌
8.1 使用语法
npm token list npm token revoke <id|token> npm token create [--read-only] [--cidr=list]
8.2 描述
这使你可以列出、创建和撤销身份验证令牌。
npm token list
: 显示所有活动身份验证令牌的表格。 你可以将其请求为带有--json
的 JSON 或带有--parseable
的制表符分隔值。
+--------+---------+------------+----------+----------------+ | id | token | created | read-only | CIDR whitelist | +--------+---------+------------+----------+----------------+ | 7f3134 | 1fa9ba… | 2017-10-02 | yes | | +--------+---------+------------+----------+----------------+ | c03241 | af7aef… | 2017-10-02 | no | 192.168.0.1/24 | +--------+---------+------------+----------+----------------+ | e0cf92 | 3a436a… | 2017-10-02 | no | | +--------+---------+------------+----------+----------------+ | 63eb9d | 74ef35… | 2017-09-28 | no | | +--------+---------+------------+----------+----------------+ | 2daaa8 | cbad5f… | 2017-09-26 | no | | +--------+---------+------------+----------+----------------+ | 68c2fe | 127e51… | 2017-09-23 | no | | +--------+---------+------------+----------+----------------+ | 6334e1 | 1dadd1… | 2017-09-23 | no | | +--------+---------+------------+----------+----------------+
通过页面打开对应的token,就是如下所示:
npm token create [--read-only] [--cidr=<cidr-ranges>]
: 创建一个新的身份验证令牌。 它可以是--read-only
,或者接受 CIDR
范围的列表,以限制使用此令牌。 这将提示你输入密码,如果你启用了双重身份验证,则会提示你输入密码。
+----------------+--------------------------------------+ | token | a73c9572-f1b9-8983-983d-ba3ac3cc913d | +----------------+--------------------------------------+ | cidr_whitelist | | +----------------+--------------------------------------+ | readonly | false | +----------------+--------------------------------------+ | created | 2017-10-02T07:52:24.838Z | +----------------+--------------------------------------+
npm token revoke <token|id>
: 立即从注册表中删除身份验证令牌。 你将无法再使用它。 这可以接受完整的令牌(例如你从npm token create
返回的令牌,以及在你的.npmrc
中找到的令牌),以及在npm token list
的可解析或 json 输出中看到的 id。 这将不接受在正常npm token list
输出中找到的截断标记。
9、npm uninstall
此命令用来卸载安装包
9.1 使用语法
npm uninstall [<@scope>/]<pkg>... aliases: unlink, remove, rm, r, un
9.2 描述
这将卸载一个包,完全删除 npm它安装的包。
它还会从 package.json
中的 dependencies
、devDependencies
、optionalDependencies
和 peerDependencies
对象中删除包。
此外,如果你有 npm-shrinkwrap.json
或 package-lock.json
,npm 也会更新这些文件。
--no-save
会告诉 npm 不要从你的 package.json
、npm-shrinkwrap.json
或 package-lock.json
文件中删除包。
--save
或 -S
将告诉 npm 从你的 package.json
、npm-shrinkwrap.json
和 package-lock.json
文件中删除该包。 这是默认设置,但如果你的 npmrc
文件中有例如 save=false
,你可能需要使用它
在全局模式下(即,将 -g
或 --global
附加到命令中),它将当前包上下文作为全局包卸载。 在这种情况下,--no-save
被忽略。
9.3 示例
npm uninstall benchmark
benchmark 将不再出现在你的 package.json
、npm-shrinkwrap.json
或 package-lock.json
文件中。
npm uninstall benchmark --no-save
benchmark不会从你的 package.json
、npm-shrinkwrap.json
或 package-lock.json
文件中删除。