npm(Node Package Manager)是Node.js的包管理器,它提供了大量的命令来安装、管理、发布Node.js模块和包。以下是npm常用命令的详解及示例:
1. 查看npm版本
命令:
npm -v
示例:npm -v
将输出当前安装的npm版本号。
2. 升级npm
命令:
npm install npm@latest -g
示例:npm install npm@latest -g
将升级npm到最新版本。
3. 查看帮助
命令:
npm help <command>
示例:npm help install
将显示install
命令的详细帮助信息。
4. 初始化项目
命令:
npm init
示例:运行npm init
将引导你创建一个新的package.json
文件,用于记录项目的元数据和依赖信息。
5. 安装模块
命令:
npm install <package-name>
示例:npm install express
将安装名为express
的Node.js模块。
6. 安装开发依赖
命令:
npm install <package-name> --save-dev
或npm install <package-name> -D
示例:npm install mocha -D
将安装mocha
作为项目的开发依赖。
7. 查看已安装的模块
命令:
npm list
或npm ls
示例:npm list
将列出当前目录下已安装的所有Node.js模块。
8. 查看全局安装的模块
命令:
npm list -g
示例:npm list -g
将列出全局安装的所有Node.js模块。
9. 更新模块
命令:
npm update <package-name>
示例:npm update express
将更新express
模块到最新版本。
10. 卸载模块
命令:
npm uninstall <package-name>
示例:npm uninstall express
将卸载express
模块。
11. 查看模块版本
命令:
npm view <package-name> version
示例:npm view express version
将显示express
模块的当前版本号。
12. 设置npm仓库镜像
命令:
npm config set registry <url>
示例:npm config set registry https://registry.npm.taobao.org
将设置npm的仓库镜像为淘宝的npm镜像。
13. 发布模块
命令:
npm publish
示例:在项目的根目录下运行npm publish
将发布当前项目到npm仓库(前提是你已经登录并且满足了发布条件)。
14. 运行脚本
命令:
npm run <script-name>
示例:在package.json
中定义了"start": "node app.js"
,则运行npm run start
将执行node app.js
。
15. 查看npm配置
命令:
npm config list
示例:npm config list
将显示当前npm的所有配置信息。
16. 搜索npm仓库中的包
命令:
npm search <关键词>
示例:npm search express
将在npm仓库中搜索包含"express"关键词的包。
17. 查看包的详细信息
命令:
npm view <包名>
示例:npm view express
将显示"express"包的详细信息,包括版本号、描述、依赖等。
18. 设置npm的访问级别
命令:
npm access <level> <包名>
示例:npm access public my-package
将设置"my-package"包的访问级别为公开。
19. 登录和退出npm
命令:
npm login
和npm logout
示例:npm login
会提示你输入npm的用户名、密码和邮箱,用于登录npm账户;npm logout
则用于退出登录状态。
20. 为包添加或修改标签
命令:
npm dist-tag add <tag> <version>
和npm dist-tag rm <tag>
示例:npm dist-tag add latest 1.0.0
将为"my-package"包的1.0.0版本添加一个名为"latest"的标签;npm dist-tag rm latest
则将删除该标签。
21. 查看npm的全局配置路径
命令:
npm config get prefix
示例:npm config get prefix
将显示npm的全局配置路径,通常用于存放全局安装的包。
22. 清理npm缓存
命令:
npm cache clean --force
示例:npm cache clean --force
将清理npm的缓存,有助于解决某些安装问题。注意,使用--force
选项会强制清理缓存,可能导致数据丢失,请谨慎使用。
23. 配置npm代理
命令:
npm config set proxy <代理地址>
和npm config set https-proxy <代理地址>
示例:如果你的网络环境需要通过代理服务器访问外部资源,你可以使用这些命令来设置npm的代理。
24. 查看npm的当前配置
命令:
npm config list
示例:npm config list
将显示 npm 的所有配置选项及其当前值。
25. 设置npm的配置项
命令:
npm config set <key> <value>
示例:npm config set registry https://registry.npmjs.org/
将设置 npm 的仓库地址为官方地址。
26. 运行脚本中的特定命令
命令:npm run <script>
示例:如果 package.json
文件中有一个名为 start
的脚本,你可以通过 npm run start
来运行它。
27. 列出项目的依赖关系
命令:
npm ls
示例:npm ls
会列出项目的所有依赖项及其版本。
28. 查看全局安装的包的路径
命令:
npm root -g
示例:npm root -g
会显示全局安装的 Node.js 包的安装路径。
29. 链接本地包到全局
命令:
npm link
示例:如果你在本地开发了一个包,并希望将其链接到全局,以便在其他项目中使用,你可以在包的根目录下运行 npm link
。
30. 解除全局链接的本地包
命令:
npm unlink <package-name>
示例:npm unlink my-package
将解除之前通过 npm link
命令链接的全局包。
31. 为npm设置认证令牌
命令:
npm config set //registry.npmjs.org/:_authToken <token>
示例:这通常用于在持续集成/持续部署 (CI/CD) 环境中为 npm 设置认证。你需要将 <token>
替换为从 npm 账户获取的认证令牌。
32. 查看npm的日志
命令:
npm logs <package-name>
示例:npm logs express
将显示与 express
包相关的 npm 日志。
33. 为npm添加新的仓库源
命令:
npm adduser --registry=http://my-registry.example.com
示例:这允许你为特定的 npm 仓库源添加用户认证信息。
34. 更新全局安装的包
命令:
npm update -g <package-name>
示例:npm update -g express
将更新全局安装的 express
包到最新版本。
35. 重构项目的 node_modules 目录
命令:
npm rebuild
示例:在某些情况下,你可能需要重建项目的依赖项。运行 npm rebuild
可以达到这个目的。
36. 为包设置版本并发布
命令:
npm version <newversion>
然后npm publish
示例:首先运行 npm version 1.0.1
来设置新版本号,然后运行 npm publish
来发布新版本。
37. 批量安装多个包
命令:
npm install <package1> <package2> ...
示例:npm install express body-parser
将同时安装 express
和 body-parser
这两个包。
38. 查看项目的依赖树
命令:
npm ls --depth=0
示例:这个命令将显示项目的直接依赖,而不包括子依赖。--depth
参数用于指定显示的深度。
39. 查看某个包的详细信息
命令:
npm info <package-name>
示例:npm info express
将显示express
包的详细信息,包括版本、描述、依赖等。
40. 检查项目的依赖项是否过期
命令:
npm outdated
示例:运行此命令将列出项目中所有依赖项的最新可用版本,以及当前使用的版本。
41. 在全局范围卸载包
命令:
npm uninstall -g <package-name>
示例:npm uninstall -g express
将从全局范围中卸载express
包。
42. 为npm设置访问代理
命令:
npm config set proxy http://<username>:<password>@<proxy-server-url>:<port>
示例:如果你的网络环境需要通过代理服务器访问外部资源,你可以使用此命令来设置npm的代理。
43. 设置npm仓库的镜像源
命令:
npm config set registry <registry-url>
示例:在中国大陆地区,由于网络原因,经常会使用淘宝的npm镜像源。你可以通过此命令来设置淘宝的npm镜像源。
44. 为npm设置HTTPS代理
命令:
npm config set https-proxy http://<username>:<password>@<proxy-server-url>:<port>
示例:与设置普通代理类似,如果你的网络环境需要通过HTTPS代理服务器访问外部资源,你可以使用此命令来设置。
45. 查看npm的帮助信息
命令:
npm help
除了查看特定命令的帮助(如npm <command> --help
),你还可以直接运行npm help
来查看npm的总体帮助信息。
46. 批量卸载多个包
命令:
npm uninstall <package1> <package2> ...
示例:npm uninstall express body-parser
将同时卸载express
和body-parser
这两个包。