npm是Node.js的包管理器,用于安装、更新、删除和管理Node.js项目的依赖包。
以下是一些常用的npm命令:
1. npm init:
解释:
是一个非常有用的 npm 命令,用于初始化一个新的 npm 项目。当开始一个 Node.js 项目或者想要创建一个新的 npm 包时,这个命令会引导你通过一系列的问题来创建一个 package.json 文件。package.json 文件是一个项目的清单,它包含了项目的元数据和依赖信息,对于项目的维护和发布至关重要。
实例:
npm init
执行该命令后,npm会引导你通过一系列问题来创建package.json文件,如:
- 项目名称(name): 项目的名称。
- 版本(version): 项目当前的版本号,通常遵循语义化版本控制(SemVer)。
- 描述(description): 项目的简短描述。
- 入口点(entry point): 项目的主文件,通常是 index.js。
- 测试命令(test command): 用于运行项目测试的命令。
- git 仓库(git repository): 项目的 git仓库地址。
- 关键字(keywords): 与项目相关的关键字,有助于其他人在 npm 上搜索到你的项目。
- 作者(author): 项目作者的名字和电子邮件地址。
- 许可证(license): 项目的许可证类型。
如果不想在初始化时回答这些问题,可以使用-y参数快速生成一个默认的package.json文件:
npm init -y
这将创建一个基本的 package.json 文件,其中包含了一些默认的配置。
2. npm install <包名>
解释:
用于安装项目所需的第三方库和模块到项目的node_modules目录下,并将依赖关系添加到package.json的dependencies字段(除非使用了–save-dev或-D标志)。
实例:
npm install express
这会安装express框架到项目的node_modules目录下,并添加到package.json的dependencies字段。
npm install express--save-dev
使用 --save-dev 标志会将包添加到 package.json 文件的 devDependencies 字段中。这些包通常用于开发环境,比如测试框架或构建工具。
3. npm install -g <包名>
解释:
全局安装指定的包。使用 -g 或 --global 标志全局安装的包可以在系统的任何位置使用。
实例:
npm install -g vue-cli
这会全局安装vue-cli,使你可以在系统的任何位置使用vue命令。
4. npm uninstall <包名>
解释:
用于从项目中移除已安装的 npm 包。这个命令会从项目的 node_modules 目录中删除指定的包,并且更新 package.json 文件中的依赖列表,
实例:
npm uninstall express
这会从项目中卸载express包,并从package.json的dependencies字段中移除它。
npm uninstall express1 express2 express3
移除多个包:这会从项目中一次卸载指定多个包名,npm 会依次移除它们。
npm uninstall -g express
使用 -g 或 --global 标志会从全局环境中移除指定的包。
5. npm update <包名>
解释:
更新指定的包到最新版本。
实例:
npm update express
这会更新express包到它的最新版本。
npm install V1.10 express --save
这会更新express包到特定版本而不是最新版本。
npm update -g
使用 -g 或 --global 标志会更新全局安装的所有 npm 包到最新版本。
6. npm list
解释:
是 npm 工具集的重要组成部分,查看当前目录下已安装的包、版本信息、及其依赖关系,以此识别潜在的依赖冲突。
实例:
npm list
执行该命令后,npm会列出当前项目中所有已安装的包及其依赖关系。
npm list express
这个命令会显示该包的版本号以及它依赖的其他包。
npm list --depth=0
使用 --depth 选项可以控制显示的依赖深度。–depth=0 仅显示直接依赖,而不显示子依赖。
npm list --tree
使用 --tree 选项可以以树状图的形式显示依赖关系,这有助于可视化包之间的层级和依赖关系。
7. npm list -g
解释:
查看全局已经安装过的node包。
实例:
npm list -g
执行该命令后,npm会列出全局安装的所有包。
8. npm run <脚本名>
解释:
运行package.json文件中scripts 部分定义的脚本。这些脚本通常是一些常用的命令序列,可以让开发者通过一个简单的命令来启动服务、测试代码、打包应用等。
实例:
假设package.json中有以下定义:
"scripts": {
"start": "node app.js"
}
执行以下命令:
npm run start
这会运行node app.js命令。
npm run start -- input.txt
给脚本传递参数,–之后是想要传递给脚本的命令行参数
npm run
查看所有可用的脚本
9. npm config
解释:
查看、设置和修改当前的npm配置信息,包括npm的路径、身份验证信息等设置。
实例:
npm config list
执行该命令后,npm会显示当前的配置信息。
npm config get registry
查看特定配置:执行该命令后,npm会显示当前设置的 npm 仓库地址。
npm config set <key> <value> --global
设置新的配置:将 替换为你想要设置的配置项的名称, 替换为新的值。–global 标志表示这个配置将应用于所有项目和全局 npm 操作。如果你想要为当前项目设置配置,可以省略 --global 标志。
npm config delete registry --global
删除配置:执行该命令后,npm会删除全局设置的 npm 仓库地址。
npm config edit <file>
编辑配置文件:使用 edit 命令可以打开配置文件进行编辑。 参数可以是 user 或 global,表示编辑用户级别的配置文件或全局配置文件。
10. npm info <包名>
解释:
查看指定包的详细信息,包括包的版本、作者、描述、依赖等信息。是进行项目依赖管理的有力工具,了解包的详细信息有助于避免潜在的安全风险和兼容性问题。
实例:
npm info express
执行该命令后,npm会显示express包的详细信息。
npm info -g express
执行该命令后,可以获取全局安装的包的信息。
npm info express1 express2 express3
执行该命令后,可以一次查询多个包的信息。
npm info express peerDependencies
执行该命令后,可以查询包的对等依赖关系。
npm info express license
执行该命令后,可以查询包的许可证相关信息。
11. npm search <字符串/正则表达式>
解释:
在npm仓库中搜索包。
实例:
npm search express
执行该命令后,npm会搜索名为 express 的包并列出结果。
npm search -l express
执行该命令后,npm会提供更详细的搜索结果。
npm search 'maintainer=your-username'
执行该命令后,npm会搜索由特定维护者发布的包。
npm search '/some-regex-pattern/'
正则表达式搜索,搜索词以 / 开头,执行该命令后,npm会使用正则表达式搜索相关的包。
12. npm login 和 npm logout
解释:
npm login
用于登录npm账户,这个命令通常在想要发布新的包、更新现有的包或者需要身份验证来安装私有包时使用。要使用 npm login 命令,需要有一个 npm 账户。如果没有,可以先在 npm 官网(https://www.npmjs.com/)注册一个。
npm logout
用于登出npm账户,这个命令通常在你想要结束当前的会话或者切换到另一个 npm 账户时使用。请注意,npm logout 命令只影响当前的终端会话。如果你在其他终端或 IDE 中有打开的会话,那些会话中的 npm 认证状态不会受到影响。此外,如果你在 .npmrc 配置文件中设置了认证信息,那么即使你登出,这些信息仍然会保留在配置文件中。
如果你想要完全删除本地存储的 npm 认证信息,你可以手动删除或编辑 .npmrc 文件。这个文件通常位于你的用户主目录下,或者你可以通过 npm config get userconfig 命令找到它的具体位置。
实例:
登录npm账户:
npm login
执行该命令后,npm会提示你输入用户名、密码和邮箱来登录。
退出npm登录状态:
npm logout
执行该命令后,npm会将你从当前登录的账户中注销。
这些只是npm命令的一些基本用法,要获取更详细的信息和文档,可以查阅npm的官方文档或执行npm help <命令名>来获取帮助信息。