NPM 命令备忘单

news2025/6/9 11:52:26

NPM 简介

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

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

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

NPM 及其在 Node.js 中的重要性

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

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

了解 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 命令

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

npm init

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

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

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

用法示例:

$ npm init

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

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

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

用法示例:

$ npm install jest --save-dev

npm unistall

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

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

用法示例:

$ npm update
$ npm update express

npm update

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

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

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

用法示例:

$ npm ls
$ npm ls express

npm LS

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

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

用法示例:

$ npm ls
$ npm ls express

npm run [script]

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

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

用法示例:

$ npm run start
$ npm run test

npm test

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

用法示例:

$ npm test

npm publish

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

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

用法示例:

$ npm publish

npm version [update_type]

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

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

用法示例:

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

npm audit

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

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

用法示例:

$ npm audit

npm cache clean --force

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

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

用法示例:

$ npm cache clean --force

npm outdated

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

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

用法示例:

$ npm outdated

npm root

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

用法示例:

$ npm root

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.coloradmin.cn/o/1592499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day19-【Java SE进阶】网络编程

一、网络编程 1.概述 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。java.net,*包下提供了网络编程的解决方案! 基本的通信架构 基本的通信架构有2种形式:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)。 网络通信的…

FourCastNet 论文解析

气象基础模型/气象大模型论文速递 论文链接基于arXiv Feb. 22, 2022版本阅读 几乎是第一篇气象大模型的工作&#xff0c;同时也是为数不多的对precipitation进行预测的模型。 文章目录 PerformanceStructureFourier transformToken mixing TrainingPrecipitation Model Ensembl…

Android开发:Camera2+MediaRecorder录制视频后上传到阿里云VOD

文章目录 版权声明前言1.Camera1和Camera2的区别2.为什么选择Camera2&#xff1f; 一、应用Camera2MediaPlayer实现拍摄功能引入所需权限构建UI界面的XMLActivity中的代码部分 二、在上述界面录制结束后点击跳转新的界面进行视频播放构建播放界面部分的XMLActivity的代码上述代…

C++如何排查并发编程死锁问题?

C如何排查并发编程死锁问题&#xff1f; 最近在Apache arrow里面写一个支持并行的算子&#xff1a;nested loop join&#xff0c;然后既然涉及到并行&#xff0c;这里就会遇到大家常说的死锁问题&#xff0c;假设你碰到了死锁问题&#xff0c;如何调试与定位呢&#xff1f; 那这…

C程序的编译

经过预处理后的源文件,退去一切包装,注释被删除,各种预处理命令也基本上被处理掉,剩下的就是原汁原味的C代码了。接下来的第二步,就开始进入编译阶段。编译阶段主要分两步:第一步,编译器调用一系列解析工具,去分析这些C代码,将C源文件编译为汇编文件;第二步,通过汇编…

科软24炸穿了,25还能冲吗?

25考研&#xff0c;科软必然保持大热 不是吧兄弟&#xff0c;明眼人都能看出来&#xff0c;科软以后不会出现大冷的局面了&#xff0c;除非考计算机的人减少&#xff0c;因为科软简直是叠满了buff&#xff0c;首先科软的专业课是22408&#xff0c;考的是数学二&#xff0c;这就…

一、接口自动化之pytest 运行参数

1、在跟目录下创建一个配置项pytest.ini [pytest] testpaths./testcases markersp0:高于优先级test:测试环境pro:生成环境2、打标签 3、运行命名pytest -m "p0"

暴雨孙辉:做好服务器,但更要辟出技术落地之道

稳扎稳打一直是暴雨的风格&#xff0c;这在被访者孙辉的身上尽显。作为暴雨&#xff08;武汉暴雨信息发展有限公司&#xff09;中国区销售及市场副总裁&#xff0c;在谈及公司的技术发展与市场推广走势之时&#xff0c;孙辉沉稳、敏锐且逻辑清晰。 因在服务器领域起步很早&…

MySQL前缀索引(3/16)

前缀索引 前缀索引&#xff1a;MySQL支持前缀索引&#xff0c;允许定义字符串的一部分作为索引。如果不指定前缀长度&#xff0c;索引将包含整个字符串。前缀索引可以节省空间&#xff0c;但可能会增加查询时的记录扫描次数&#xff08;因为会查询到多个前缀相同的数据&#x…

python数据可视化——笔记1

1、pyecharts模块 Pyecharts 是一个 Python 可视化库&#xff0c;绘制多种类型的图表&#xff0c;创建交互式和美观图表。 官方网站:https://pyecharts.org/#/zh-cn/ pyecharts画廊&#xff1a; https://gallery.pyecharts.org/#/README 安装pyechart包&#xff0c;在pych…

Docker入门指南:从基础概念到实践操

Docker简介 在编程的世界里&#xff0c;有一种名为Docker的神奇工具&#xff0c;它就像一个无形的魔术师&#xff0c;能够将复杂的开发环境和应用打包成一个个轻量级、独立的容器。这些容器犹如一艘艘小船&#xff0c;可以在任何地方轻松启动&#xff0c;而不需要担心环境的差…

阿里云优惠口令2024最新

2024年阿里云域名优惠口令&#xff0c;com域名续费优惠口令“com批量注册更享优惠”&#xff0c;cn域名续费优惠口令“cn注册多个价格更优”&#xff0c;cn域名注册优惠口令“互联网上的中国标识”&#xff0c;阿里云优惠口令是域名专属的优惠码&#xff0c;可用于域名注册、续…

4G脚本开发网关助力城市智慧水务体系建设

智慧水务已经成为现代城市管理的重要组成部分。其中&#xff0c;4G脚本开发网关在智慧水务建设中扮演了关键角色&#xff0c;通过高速稳定的网络连接能力和强大的数据处理能力&#xff0c;实现了对水资源的全方位、精细化管理。 这种网关不仅具备稳定的4G通信能力&#xff0c;…

凡泰极客亮相2024 亚马逊云科技出海全球化论坛,为企业数字化出海赋能

随着「不出海&#xff0c;即出局」登上热搜榜单&#xff0c;企业出海已成燎原之势&#xff0c;3月29日&#xff0c;2024 亚马逊云科技出海全球化论坛在深圳成功举办&#xff0c;凡泰极客创始人梁启鸿受邀出席&#xff0c;并以 「App 2.0&#xff1a;以SuperApp构建智能数字生态…

2024年阿里云服务器优惠曝光:购买、续费、升级优惠都在这!

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

Java基础(三)--常用工具类

文章目录 第三章、常用工具类一、Java异常1、什么是异常2、异常处理3、常见的异常类型4、throws5、throw6、自定义异常7、异常链 二、包装类1、包装类2、字符串与基本数据类型转换3、包装类的比较 三、String 类1、创建String对象的方法2、String的常用方法3、字符串的存储4、字…

wife_wife-攻防世界

题目 注册发现可以注册管理员,但是好像有条件 抓包试试 没思路了 看看其他师傅的wp&#xff0c;用到 js 原型链污染攻击 Nodejs原型链污染攻击基础知识 | Savants Blog (lxscloud.top) 网站后端是Node.js搭建的 原型链污染 简单来讲&#xff0c;通过 newUser.__proto__ …

ssm048电子竞技管理平台的设计与实现+jsp

电子竞技管理平台设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本电子竞技管理平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

2024.4.13 Python 爬虫复习day01

目录 day01_HTTP协议HTML页面web服务器 各类名词解释 URL统一资源定位符 HTTP协议 HTML页面 知识点: 第一个页面 标题标签和图片标签 注册页面 登录页面 WEB服务器 安装fastapi和uvicorn 原始命令方式 镜像源命令方式 工具方式 快速搭建web服务器 知识点: 示例…

2024 Guitar Pro 8.1.2-27 (x64) win/mac中文激活版破解版

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…