npm常用命令详解
npm(Node Package Manager)是Node.js的包管理器,它提供了一种简单的方式来安装、更新和管理Node.js的包。npm是Node.js生态系统中不可或缺的一部分,它拥有庞大的包库,几乎可以满足开发者的所有需求。本文将详细介绍npm的常用命令,帮助开发者更高效地使用npm进行项目开发。
1. npm init
npm init
命令用于初始化一个新的npm项目。它会引导你创建一个package.json
文件,其中包含了项目的基本信息和依赖项。这个文件是项目的心脏,记录了项目的元数据和依赖关系。
mkdir myproject
cd myproject
npm init
运行npm init
后,你会被提示输入项目的名称、版本、描述、入口文件等信息。如果你不确定某些信息,可以按回车键接受默认值。
2. npm install
npm install
命令用于安装新的包。它可以安装来自npm仓库的任何包,并将它们添加到项目的依赖列表中。
2.1 全局安装
如果你想在全局范围内安装一个包,可以使用-g
或--global
标志。
npm install -g <package_name>
例如,全局安装Express框架:
npm install -g express
2.2 本地安装
如果你想在项目中安装一个包,只需省略-g
标志。
npm install <package_name>
这将安装包并将其添加到package.json
文件的dependencies
列表中。
2.3 作为开发依赖安装
如果你安装的包仅用于开发环境,例如测试框架,你可以使用--save-dev
或-D
标志。
npm install --save-dev <package_name>
这将把包添加到package.json
文件的devDependencies
列表中。
2.4 保存安装的包
默认情况下,npm install
会将安装的包保存到package.json
文件中。如果你想避免自动保存,可以使用--no-save
标志。
npm install <package_name> --no-save
3. npm uninstall
npm uninstall
命令用于从项目中移除依赖包。它会从package.json
文件中删除指定的包,并卸载它。
npm uninstall <package_name>
如果你想同时移除全局包和本地包,可以使用--save
标志。
npm uninstall --save <package_name>
4. npm update
npm update
命令用于更新项目中的依赖包。它可以更新所有依赖包,也可以指定更新某个特定的包。
4.1 更新所有依赖
更新所有依赖到最新版本:
npm update
4.2 更新特定依赖
更新特定的包到最新版本:
npm update <package_name>
5. npm list
npm list
命令用于列出当前项目中安装的包及其依赖关系。
npm list
如果你想查看全局安装的包列表,可以使用--global
标志。
npm list --global
6. npm search
npm search
命令用于搜索npm仓库中的包。
npm search <query>
你可以通过这个命令来查找具有特定功能或满足特定条件的包。
7. npm view
npm view
命令用于查看指定包的详细信息,包括版本、依赖、描述等。
npm view <package_name>
8. npm ls
npm ls
命令用于列出当前项目中安装的包的版本树。
npm ls
这个命令可以帮助你理解包之间的依赖关系。
9. npm cache
npm cache
命令用于管理npm的缓存。有时候,清理缓存可以解决一些安装问题。
9.1 清理缓存
清理npm缓存:
npm cache clean --force
10. npm config
npm config
命令用于设置或查看npm的配置选项。
10.1 设置配置
设置一个新的配置选项:
npm config set <key> <value>
例如,设置npm的镜像源为淘宝镜像:
npm config set registry https://registry.npm.taobao.org
10.2 查看配置
查看所有的npm配置:
npm config list
11. npm help
npm help
命令用于获取npm命令的帮助信息。
npm help <command>
如果你不确定如何使用某个命令,可以使用这个命令来获取帮助。
12. npm version
npm version
命令用于修改package.json
文件中的版本号。
12.1 增加版本号
增加版本号:
npm version <new_version>
或者使用预设的版本格式(major, minor, patch):
npm version major
npm version minor
npm version patch
12.2 查看版本号
查看当前的版本号:
npm version
13. npm publish
npm publish
命令用于将你的包发布到npm仓库。
npm publish
在发布之前,确保你已经注册了npm账号,并且package.json
文件中的信息是完整的。
14. npm login
npm login
命令用于登录npm账号。
npm login
登录后,你就可以发布包或修改已有的包信息。
15. npm whoami
npm whoami
命令用于查看当前登录的npm账号信息。
npm whoami
16. npm test
npm test
命令用于运行项目的测试脚本。在package.json
的scripts
部分定义测试脚本后,你可以使用此命令来执行测试。
npm test
17. npm start
npm start
命令用于启动一个Node.js应用程序。在package.json
的scripts
部分定义启动脚本后,你可以使用此命令来运行应用程序。
npm start
18. npm run
npm run
命令用于运行在package.json
文件的scripts
部分定义的脚本。你可以定义任何自定义脚本,并使用npm run
来执行它们。
npm run <script_name>
19. npm pack
npm pack
命令用于打包项目中的包,生成一个tarball文件,用于分发或安装。
npm pack
20. npm dedupe
npm dedupe
命令用于减少依赖项的冗余,优化项目的依赖树。
npm dedupe
21. npm outdated
npm outdated
命令用于检查项目中过时的依赖包。
npm outdated
22. npm audit
npm audit
命令用于检查项目中的安全漏洞。
npm audit
运行npm audit fix
可以自动修复一些已知的安全问题。
23. npm ci
npm ci
命令用于在连续集成环境中安装项目依赖。它会严格按照package-lock.json
文件中的版本安装依赖,确保构建的一致性。
npm ci
24. npm link
npm link
命令用于创建一个符号链接,将本地的包链接到全局npm环境中。
npm link
这在本地开发和测试自己的包时非常有用。
25. npm rebuild
npm rebuild
命令用于重建所有的依赖包,解决由于更新npm或node版本导致的依赖问题。
npm rebuild
26. npm doctor
npm doctor
命令用于检查并修复npm环境中的常见问题。
npm doctor
27. npm config get
npm config get
命令用于获取一个或多个npm配置项的值。
npm config get <key>
28. npm version
npm version
命令用于修改package.json
中的版本号,并同时更新package-lock.json
。
28.1 版本号升级
npm version major
npm version minor
npm version patch
28.2 手动设置版本号
npm version 1.0.0
29. npm publish --tag
npm publish --tag
命令允许你为发布的包指定一个标签,例如latest
或next
。
npm publish --tag next
30. npm install --save-exact
npm install --save-exact
命令用于安装特定版本的包,并且精确地保存在package.json
中,不使用版本范围。
npm install --save-exact <package_name>@<version>
31. npm cache verify
npm cache verify
命令用于验证缓存的完整性。
npm cache verify
32. npm unpublish
npm unpublish
命令用于从npm仓库中删除一个包。
npm unpublish <package_name>@<version>
33. npm view --scripts
npm view --scripts
命令用于查看一个包的scripts
定义。
npm view <package_name> --scripts
34. npm set
npm set
命令用于设置多个npm配置项。
npm set <key> <value> <value> ...
35. npm get
npm get
命令用于获取单个npm配置项的值。
npm get <key>
36. npm owner
npm owner
命令用于管理包的所有权。
36.1 添加一个新所有者
npm owner add <user> <package_name>
36.2 移除一个所有者
npm owner remove <user> <package_name>
37. npm star
npm star
命令用于收藏一个包。
npm star <package_name>
38. npm unstar
npm unstar
命令用于取消收藏一个包。
npm unstar <package_name>
39. npm login
npm login
命令用于登录到npm。
npm login
40. npm logout
npm logout
命令用于登出npm。
npm logout
41. npm access
npm access
命令用于设置或修复包的访问权限。
41.1 为包设置访问级别
npm access public <package_name>
npm access restricted <package_name>
41.2 列出包的访问权限
npm access list <package_name>
42. npm token
npm token
命令用于创建或查看npm访问令牌。
42.1 创建新的访问令牌
npm token create
42.2 查看现有的访问令牌
npm token list
43. npm dist-tag
npm dist-tag
命令用于管理包的分发标签。
43.1 设置分发标签
npm dist-tag add <package_name>@<version> latest
43.2 列出所有的分发标签
npm dist-tag ls <package_name>
44. npm team
npm team
命令用于管理组织团队和成员。
44.1 列出团队成员
npm team members <team_name>
44.2 添加成员到团队
npm team add <user> <team_name>
45. npm hook
npm hook
命令用于管理webhook。
45.1 列出webhook
npm hook ls
45.2 添加webhook
npm hook create <url> [events]
46. npm scope
npm scope
命令用于管理命名空间。
46.1 创建新的命名空间
npm scope create <scope>
46.2 列出所有的命名空间
npm scope list
47. npm adduser
npm adduser
命令用于创建一个新的npm用户账户或添加一个已有的账户到本地配置。
npm adduser
48. npm edit
npm edit
命令用于编辑一个包的文档。
npm edit <package_name>
49. npm explore
npm explore
命令用于在npm仓库中浏览包的详细信息。
npm explore <package_name>
50. npm fund
npm fund
命令用于列出项目依赖的开源项目的资金信息。
npm fund
51. npm profile
npm profile
命令用于查看或编辑npm用户资料。
51.1 查看用户资料
npm profile get <user>
51.2 编辑用户资料
npm profile set <key> <value>
52. npm star
npm star
命令用于收藏一个包。
npm star <package_name>
53. npm unstar
npm unstar
命令用于取消收藏一个包。
npm unstar <package_name>
54. npm get
npm get
命令用于获取npm配置项的值。
55. npm set
npm set
命令用于设置npm配置项的值。
56. npm whoami
npm whoami
命令用于查看当前登录的npm用户。
57. npm config
npm config
命令用于设置或查看npm配置项。
58. npm help-search
npm help-search
命令用于搜索npm文档。
59. npm install-test
npm install-test
命令用于安装包并运行测试。
60. npm link
npm link
命令用于创建一个符号链接,将本地的包链接到全局npm环境中。
61. npm outdated
npm outdated
命令用于检查项目中过时的依赖包。
62. npm owner
npm owner
命令用于管理包的所有权。
63. npm publish
npm publish
命令用于将你的包发布到npm仓库。
64. npm run
npm run
命令用于运行在package.json
文件的scripts
部分定义的脚本。
65. npm search
npm search
命令用于搜索npm仓库中的包。
66. npm set
npm set
命令用于设置npm配置项。
67. npm shrinkwrap
npm shrinkwrap
命令用于创建一个npm-shrinkwrap.json
文件,用于锁定依赖的版本。
69. npm start
npm start
命令用于启动一个Node.js应用程序。
70. npm stop
npm stop
命令用于停止正在运行的npm进程。
71. npm test
npm test
命令用于运行项目的测试脚本。
72. npm unpublish
npm unpublish
命令用于从npm仓库中删除一个包。
73. npm view
npm view
命令用于查看指定包的详细信息。
74. npm whoami
npm whoami
命令用于查看当前登录的npm用户。
75. npm install
npm install
命令用于安装新的包。
76. npm uninstall
npm uninstall
命令用于从项目中移除依赖包。
77. npm update
npm update
命令用于更新项目中的依赖包。
78. npm version
npm version
命令用于修改package.json
中的版本号。
79. npm config
npm config
命令用于设置或查看npm配置项。
80. npm help
npm help
命令用于获取npm命令的帮助信息。
81. npm init
npm init
命令用于初始化一个新的npm项目。
82. npm pack
npm pack
命令用于打包项目中的包。
83. npm dedupe
npm dedupe
命令用于减少依赖项的冗余。
84. npm audit
npm audit
命令用于检查项目中的安全漏洞。
85. npm ci
npm ci
命令用于在连续集成环境中安装项目依赖。
86. npm link
npm link
命令用于创建一个符号链接,将本地的包链接到全局npm环境中。
87. npm rebuild
npm rebuild
命令用于重建所有的依赖包。
88. npm doctor
npm doctor
命令用于检查并修复npm环境中的常见问题。
89. npm config get
npm config get
命令用于获取一个或多个npm配置项的值。