NPM 命令备忘单

devtools/2024/9/23 22:37:36/

npm" style="margin-left:0;">NPM 简介

Node Package Manager (NPM) 是 Node.js 环境中不可或缺的命令行工具,充当包管理器来安装、更新和管理 Node.js 应用程序的库、包和模块。对于每个 Node.js 开发人员来说,无论他们的经验水平如何,它都是一个关键工具。

NPM 的主要目的是管理 Node.js 项目中常见的外部库和依赖项。除此之外,它还有助于共享和分发代码、运行脚本以及创建新项目,展示了其在 Node.js 生态系统中的多功能性。

本指南旨在成为一份备忘单,一个快速参考,您可以反复查看以了解并充分利用 NPM 的特性和功能。

npm-and-its-importance-in-node-js" style="margin-left:0;">NPM 及其在 Node.js 中的重要性

NPM 将您的应用程序与全球开发者社区联系起来,提供对大量软件包和库的访问。这使得能够利用集体解决方案和专业知识,而不是从头开始。

NPM 的优势在于其简单性和效率,简化了应用程序所需包的管理,根据项目的范围,包的数量从几个到数百个不等。声明您需要什么,NPM 会处理剩下的事情——根据需要获取、安装和更新包。

npm-commands" style="margin-left:0;">了解 NPM 命令

NPM 命令是您可以使用 NPM 工具执行的操作。这些被输入到命令行中,并且通常后跟一个或多个参数。例如,在命令npm install express,“install”是命令,“express”是参数。

有许多可用的 NPM 命令,每个命令都旨在执行特定操作。虽然了解和理解所有这些内容是有益的,但在实践中,您会发现其中一些内容的使用频率比其他内容要高得多。这些是我们将在本指南中重点关注的内容。

下表总结了最常用的 NPM 命令以及它们的用途的简要说明:

命令描述
npm init初始化一个新的NPM项目并package.json在目录中创建一个新文件。
npm install安装文件中列出的所有依赖项package.json
npm install [package]安装特定包并将其添加到文件中的依赖项列表中package.json
npm install [package] --save-dev安装特定包作为开发依赖项。
npm uninstall [package]从节点模块和文件中删除特定包package.json
npm update将所有包更新到最新版本,如文件中的版本范围所指定package.json
npm update [package]将特定包更新到最新版本。
npm ls显示当前项目的依赖关系树,显示所有已安装的包及其依赖关系。
npm run [script]scripts运行文件部分中定义的脚本package.json
npm testscripts运行文件部分中定义的测试脚本package.json
npm publish将包发布到 NPM 注册表。
npm version [update_type]package.json根据指定的更新类型(主要、次要或补丁)更新文件中的版本号。
npm audit检查已安装软件包中的已知漏洞并提出修复建议。
npm cache clean --force清除 NPM 缓存,通常用于解决安装包的问题。
npm outdated检查是否有过时的软件包。
npm root显示存储包的根目录。
npm config get prefix获取全局包的安装目录。

该表提供了这些命令及其功能的高级概述,但每个命令的深度和复杂性都比此处介绍的要深。了解每个命令的复杂性对于有效且高效地使用 NPM 至关重要。

npm-commands" style="margin-left:0;">深入研究 NPM 命令

在下面的部分中,我们将更详细地了解每个命令,扩展它们的用途、语法,并提供如何使用它们的示例。

npm-init" style="margin-left:.6em;">npm init

npm init是用于创建新 NPM 项目的命令。当您运行此命令时,NPM 将提示您提供有关项目的一些信息,例如项目名称、版本、描述、主文件、测试命令、Git 存储库、关键字、作者和许可证。

然后,使用这些详细信息在当前目录中创建一个package.json文件,该文件用作项目的清单文件。该文件包含有关您的项目的元数据并列出其依赖项,允许 NPM 识别需要安装哪些软件包才能使您的项目正常运行。

您还可以使用默认值npm init -y自动填写文件。package.json当您想要快速设置项目而不提示输入时,这非常方便。

用法示例:

$ npm init

npm-install" style="margin-left:.6em;">npm install

npm install是最常用的 NPM 命令之一。它用于安装您的项目所依赖的包。此命令读取package.json文件以识别项目的依赖项并安装它们。

如果您在命令后指定包名称npm install,NPM 将安装该特定包。默认情况下,它会安装最新版本的软件包。但是,如果您需要特定版本的包,您还可以指定版本号、标签或版本范围。

用法示例:

$ npm install
$ npm install express
$ npm install express@4.17.1
$ npm install express@latest

npm-install-package-save-dev" style="margin-left:.6em;">npm install [package] --save-dev

虽然该npm install [package]命令将包安装为生产依赖项,但有时您需要安装仅开发所需的包。例如,测试库、转译器和 linter 都是通常仅在开发过程中而不是在生产中需要的包。

这就是npm install [package] --save-dev命令的用武之地。它安装指定的包并将其添加到文件的“devDependency”部分package.json,表明它只是一个开发依赖项。

用法示例:

$ npm install jest --save-dev

npm-uninstall" style="margin-left:.6em;">npm unistall

正如您可以使用 NPM 安装软件包一样,您也可以使用命令npm uninstall后跟要删除的软件包的名称来删除它们。

命令从 node_modules 目录中删除指定的包,并更新package.jsonpackage-lock.json文件以反映包的删除。

用法示例:

$ npm update
$ npm update express

npm-update" style="margin-left:.6em;">npm update

随着时间的推移,您在项目中使用的软件包可能会由其维护者进行更新,以包含新功能、修复错误或修补安全漏洞。保持软件包更新以便从这些更改中受益非常重要。

npm update命令可以帮助您执行此操作。当不带任何参数运行时,此命令会检查文件中列出的所有包package.json,并根据定义的范围将它们更新到最新版本。

您还可以通过在命令后指定包名称来将特定包更新到最新版本npm update

用法示例:

$ npm ls
$ npm ls express

npm-ls" style="margin-left:.6em;">npm LS

npm ls命令用于列出已安装的软件包及其依赖项。当您想要查看已安装的软件包或其依赖项的版本时,此命令特别有用。

默认情况下,npm ls显示当前项目的依赖关系树。但是,您可以指定包名称以查看该包的版本及其依赖项。

用法示例:

$ npm ls
$ npm ls express

npm-run-script" style="margin-left:.6em;">npm run [script]

npm run命令用于执行文件scripts部分中定义的脚本package.json。这可以包括用于构建应用程序、运行测试、启动应用程序等的脚本。

要运行脚本,您只需在命令后面加上npm run要运行的脚本的名称即可。

用法示例:

$ npm run start
$ npm run test

npm-test" style="margin-left:.6em;">npm test

npm test命令是 的快捷方式npm run test。它用于运行scripts文件部分中定义的测试脚本package.json

用法示例:

$ npm test

npm-publish" style="margin-left:.6em;">npm publish

如果您开发了一个 Node.js 包并希望与其他人共享,您可以使用该npm publish命令将其发布到 NPM 注册表。一旦您的软件包发布,其他人就可以使用该npm install命令安装它。

在发布包之前,您需要在 NPM 网站上创建一个帐户并使用命令登录您的帐户npm login

用法示例:

$ npm publish

npm-version-update-type" style="margin-left:.6em;">npm version [update_type]

npm version命令用于更新软件包的版本号。此命令更新文件中的版本号package.json,并使用更新的版本号创建一个新的 Git 标记。

您需要在npm version命令后指定更新类型,可以是“补丁”、“次要”或“主要”,具体取决于新版本中所做更改的性质。

用法示例:

$ npm version patch
$ npm version minor
$ npm version major

npm-audit" style="margin-left:.6em;">npm audit

npm audit命令用于识别项目依赖项中已知的安全漏洞。当您运行此命令时,NPM 会package.json根据 Node Security Platform 数据库检查文件中的包以查找漏洞。

npm audit命令不仅可以识别漏洞,还可以提供有关每个漏洞的详细信息,并建议修复这些漏洞的命令

用法示例:

$ npm audit

npm-cache-clean-force" style="margin-left:.6em;">npm cache clean --force

npm cache clean --force命令用于清除NPM缓存。缓存是数据的存储,以便将来可以再次使用。 NPM 使用缓存来存储已安装的包,因此在需要时不需要再次获取它们。

清除缓存可以帮助解决安装或更新软件包时的一些问题。

用法示例:

$ npm cache clean --force

npm-outdated" style="margin-left:.6em;">npm outdated

npm outdated命令用于检查过期的软件包。当您运行此命令时,NPM 会检查您文件中的包package.json,并将您已安装的版本与 NPM 注册表上可用的最新版本进行比较。

如果有任何过时的软件包,此命令将列出它们以及您拥有的当前版本、可用的最新版本以及文件中定义的版本package.json

用法示例:

$ npm outdated

npm-root" style="margin-left:.6em;">npm root

npm root命令用于查找安装包的根目录。如果您需要知道软件包的安装位置或者您遇到软件包问题并需要检查其文件,这会很有用。

用法示例:

$ npm root

npm-config-get-prefix" style="margin-left:.6em;">npm config get prefix

npm config get prefix命令用于获取全局包的安装目录。这通常发生 /usr/local 在 Unix 系统和C:\Users\<username>\AppData\Roaming\npm Windows 上。

用法示例:

$ npm config get prefix

本综合指南深入概述了最常用的 NPM 命令。无论您是 Node.js 新手还是经验丰富的开发人员,对这些命令的深入理解都可以让您的开发过程更加高效和愉快。

NPM 是一个强大的工具,提供了广泛的功能。了解如何利用这些功能可以极大地增强您的 Node.js 开发体验。因此,请使用本指南作为参考来了解并充分利用 NPM 的特性和功能。

请记住,官方NPM 文档始终提供更详细的信息,并帮助您探索本指南中未涵盖的其他命令和功能。

有了这些命令,您就可以管理 Node.js 项目的依赖项并确保应用程序顺利运行。


http://www.ppmy.cn/devtools/5172.html

相关文章

回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测&#xff0…

ELK日志分析系统之Kafka

目录 一、消息队列基本介绍 1、为什么需要消息队列(MQ) 2、使用消息队列的好处 1.解耦 2.可恢复性 3.缓冲 4.灵活性 & 峰值处理能力 5.异步通信 3、Kafka消息队列的两种模式 1.点对点模式 2.发布/订阅模式 二、Kafka基本介绍 1、Kafka定义 2、Kafka概念 3、…

学习java时候的笔记(十九)

正则表达式 作用: 校验字符串是否满足规则在一段文本中查找满足要求的内容 字符类(只匹配一个字符) 说明[abc]只能是a,b或c[^abc]除了a,b,c之外的任何字符[a-zA-Z]a 到 z, A 到 Z(范围)[a-d[m-p]]a 到 d, 或 m 到 p[a - z && [def]]a 到 z和def的交集。为: d, e, f…

【linux】多路径|Multipath I/O 技术

目录 简略 详细 什么是多路径? Multipath安装与使用 安装 使用 Linux下multipath软件介绍 附录 配置文件说明 其他解 简略 略 详细 什么是多路径? 普通的电脑主机都是一个硬盘挂接到一个总线上&#xff0c;这里是一对一的关系。 而到了分布式环境&#xff0c;主机和存储网络连…

Python练习03

题目 解题思路 Demo58 通过字符串切片来进行反转操作 def _reverse():"""这是一个反转整数的函数"""num input("请输入想要反转的整数")print(num[::-1]) 运行结果 Demo61 首先制作一个判断边长的函数&#xff0c;通过三角形两边…

Spark-Scala语言实战(16)

在之前的文章中&#xff0c;我们学习了三道任务&#xff0c;运用之前学到的方法。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark-Scala语言实战&#x…

TCP协议简单总结

TCP&#xff1a;传输控制协议 特点&#xff1a;面向连接、可靠通信 TCP的最终目的&#xff1a;要保证在不可靠的信道上实现可靠的传输 TCP主要有三个步骤实现可靠传输&#xff1a;三次握手建立连接&#xff0c;传输数据进行确认&#xff0c;四次挥手断开连接 三次握手建立可靠…

JD抓包 | 安卓app抓包

去年11月份左右搞过一次安卓抓包, 搞了很久试了很多方法, 才弄好. 时隔半年, 安卓抓包依然是令我头疼的问题 这次简单记录一下过程(细节太多我也说不清) JD的有效信息接口通常是以下这样的, 其他的接口并没有返回太多"有用"的信息 https://api.m.jd.com/client.act…