NPM 命令备忘单

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.hqwc.cn/news/616555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis批量插入的五种方式

MyBatis批量插入的五种方式: 一、准备工作 1、导入pom.xml依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MySQL驱动依赖 --…

文件操作(C语言)

目录 1.为什么使用文件&#xff1f; 2.什么是文件&#xff1f; 2.1程序文件 2.2数据文件 2.3文件名 3.二进制文件和文本文件 4.文件的打开和关闭 4.1流和标准流 4.1.1流 4.1.2标准流 4.2文件指针 4.3文件的打开和关闭 5.文件的顺序读写 5.1顺序读写函数介绍 5.2…

12 Php学习:魔术常量

PHP魔术常量 PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的&#xff0c;只有在加载了这些扩展库时才会出现&#xff0c;或者动态加载后&#xff0c;或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改…

【Unity】常见性能优化

1 前言 本文将介绍下常用的Unity自带的常用优化工具&#xff0c;并介绍部分常用优化方法。都是比较基础的内容。 2 界面 2.1 Statistics窗口 可以简单查看Unity运行时的统计数据&#xff0c;当前一帧的性能数据。 2.1.1 Audio 音频相关内容。 Level&#xff1a;音量大小&a…

Java 原生代码获取服务器的网卡 Mac 地址、CPU序列号、主板序列号

1、概述 Java 可以获取服务器的网卡 Mac 地址、CPU 序列号、主板序列号等信息&#xff0c;用来做一些软件授权验证、设备管理等场景。 2、代码实现 package com.study.util;import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Scanner;/*** …

gma 2.0.8 (2024.04.12) 更新日志

安装 gma 2.0.8 pip install gma2.0.8网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd1pc8 提取码&#xff1a;1pc8 注意&#xff1a;此版本没有Linux版&#xff01; 编译gma的Linux虚拟机没有时间修复&#xff0c;本期Linux版继…

理想大模型实习面试题6道|含解析

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

STM32外设配置以及一些小bug总结

USART RX的DMA配置 这里以UART串口1为例&#xff0c;首先点ADD添加RX和TX配置DMA&#xff0c;然后模式一般会选择是normal&#xff0c;这个模式是当DMA的计数器减到0的时候就不做任何动作了&#xff0c;还有一种循环模式&#xff0c;是计数器减到0之后&#xff0c;计数器自动重…

计算机毕业设计Python+Flask电商商品推荐系统 商品评论情感分析 商品可视化 商品爬虫 京东爬虫 淘宝爬虫 机器学习 深度学习 人工智能 知识图谱

一、选题背景与意义 1.国内外研究现状 国外研究现状&#xff1a; 亚马逊&#xff08;Amazon&#xff09;&#xff1a;作为全球最大的电商平台之一&#xff0c;亚马逊在数据挖掘和大数据方面具有丰富的经验。他们利用Spark等大数据技术&#xff0c;构建了一套完善的电商数据挖…

算法100例(持续更新)

算法100道经典例子&#xff0c;按算法与数据结构分类 1、祖玛游戏2、找下一个更大的值3、换根树状dp4、一笔画完所有边5、树状数组&#xff0c;数字1e9映射到下标1e56、最长回文子序列7、超级洗衣机&#xff0c;正负值传递次数8、Dijkstra9、背包问题&#xff0c;01背包和完全背…

RT-Thread 启动流程源码详解

RT-Thread 启动流程 一般了解一份代码大多从启动部分开始,同样这里也采用这种方式,先寻找启动的源头。RT-Thread 支持多种平台和多种编译器,而 rtthread_startup() 函数是 RT-Thread 规定的统一启动入口。一般执行顺 序是:系统先从启动文件开始运行,然后进入 RT-Thread 的…

LLM大语言模型微调方法和技术汇总

本文详细介绍了机器学习中的微调技术&#xff0c;特别是在预训练模型上进行微调的方法和技术。文章首先解释了什么是微调&#xff0c;即在预训练模型的基础上&#xff0c;通过特定任务的数据进行有监督训练&#xff0c;以提高模型在该任务上的性能。随后&#xff0c;详细介绍了…