npm
(Node Package Manager)是Node.js生态系统中不可或缺的部分,它负责软件包的管理,包括安装、更新、卸载以及版本控制等功能。下面是一些常用的npm
命令及其实际应用场景的详解:
初始化项目
- 命令 :
npm init
或npm init -y
- 说明 :创建一个
package.json
文件,用于存储项目的元数据和依赖关系。使用-y
参数会接受所有默认值快速初始化。
- 说明 :创建一个
安装依赖
- 命令 :
npm install <package>
或npm i <package>
- 说明 :安装指定的npm包。如果想要安装特定版本,可以使用
@<version>
,如npm install express@4.17.1
。 - 参数 :
-S
或--save
:将包添加到dependencies
列表,用于生产环境。-D
或--save-dev
:将包添加到devDependencies
列表,用于开发环境。-E
或--save-exact
:精确保存包的确切版本号。
- 说明 :安装指定的npm包。如果想要安装特定版本,可以使用
卸载依赖
- 命令 :
npm uninstall <package>
- 说明 :从项目中移除指定的npm包,并从
package.json
中删除相关条目。
- 说明 :从项目中移除指定的npm包,并从
更新依赖
- 命令 :
npm update [package]
- 说明:更新指定的npm包或所有包到最新版本。不指定包名时,默认更新所有。
查看依赖
- 命令 :
npm list
或npm ls
- 说明:显示项目中已安装的依赖包及其版本,包括子依赖。
运行脚本
- 命令 :
npm run <script-name>
- 说明 :执行
package.json
中的脚本。例如,npm run start
通常用于启动开发服务器。
- 说明 :执行
查看包信息
- 命令 :
npm view <package> [property]
- 说明:查看npm仓库中某个包的详细信息,可选地查看特定属性,如版本或依赖。
发布包
- 命令 :
npm publish
- 说明:将当前目录下的包发布到npm注册表。确保已登录npm账号且满足发布条件。
全局命令
- 安装 :
npm install -g <package>
- 卸载 :
npm uninstall -g <package>
- 说明 :全局安装或卸载npm包,这些包通常是命令行工具,如
create-react-app
。
- 卸载 :
缓存管理
- 清理缓存 :
npm cache clean --force
- 说明:强制清理npm的缓存,解决因缓存引起的安装问题。
版本控制
- 命令 :
npm version <patch|minor|major>
- 说明 :在
package.json
中自动递增版本号。patch
小版本,minor
中版本,major
大版本。
- 说明 :在
搜索包
- 命令 :
npm search <keyword>
- 说明:根据关键词搜索npm仓库中的包。
链接本地包
- 命令 :
npm link
- 说明:在开发本地模块时,此命令可以创建一个符号链接,使得你可以在其他项目中如同安装的模块一样使用这个本地模块,便于快速迭代和测试。
链接到全局包
- 命令 :在模块目录下执行
npm link
,然后在使用该模块的项目中执行npm link <module-name>
- 说明:允许你在全局安装的模块和本地项目之间建立链接,便于调试全局模块。
使用npm脚本别名
- 在
package.json
中定义脚本时,可以使用"scripts": {"alias": "command-to-run"}
- 说明 :这允许你为复杂的命令或频繁执行的任务创建简短的别名,例如
"start": "node server.js"
。
- 说明 :这允许你为复杂的命令或频繁执行的任务创建简短的别名,例如
查看npm配置
- 命令 :
npm config list
- 说明:显示npm的当前配置,包括全局设置和用户特定设置。这有助于诊断权限、代理设置或注册表来源问题。
更改registry源
- 命令 :
npm config set registry https://registry.npmjs.org/
- 说明 :更改npm下载包的源地址。在中国,可能需要更改为淘宝镜像源
https://registry.npm.taobao.org/
以加速下载。
- 说明 :更改npm下载包的源地址。在中国,可能需要更改为淘宝镜像源
安装并保存为开发依赖
- 命令 :
npm install --save-dev <package>
- 说明 :安装包的同时,将其添加到
devDependencies
中,适用于那些只在开发和构建过程中需要的包。
- 说明 :安装包的同时,将其添加到
查看过时的依赖
- 命令 :
npm outdated
- 说明:列出项目中所有过时的依赖包及其最新版本,帮助你决定是否需要更新。
安装所有开发依赖
- 命令 :在新克隆的项目中,直接运行
npm install
或npm ci
(如果你有package-lock.json
或npm-shrinkwrap.json
文件)。- 说明 :这会根据
package.json
或锁定文件安装所有必要的依赖,非常适合CI/CD流程或团队协作时确保环境一致性。
- 说明 :这会根据
查看npm帮助
- 命令 :
npm help <command>
或npm <command> --help
- 说明:获取特定命令的详细帮助文档,了解其可用选项和用法。
使用npx
- 命令 :
npx <package> [args]
- 说明:允许你直接运行npm包中的命令,无需全局安装。这对于一次性使用的包特别方便。