node.js 包管理工具介绍 (npm与Yarn详细说明)

一、什么是包?

包(package)代表了一组特定功能的源码集合

二、什么是包管理工具?

也就是管理包的应用软件,可以对包进行下载、更新、删除、上传等操作。借助包管理工具,可以快速开发项目提升开发效率。包管理工具是一个通用概念,很多编程工具都有包管理工具,它极为重要

三、常用的包管理工具?

npm、yarn、cnpm...

其中Node.js 的包管理工具主要是 npm(Node Package Manager)和 yarn。这些工具使得开发者能够轻松地安装、更新、删除和管理 Node.js 项目中的依赖包。

(3-1) npm

1》介绍:

npm 是 Node.js 默认的包管理工具,随着 Node.js 的安装而自动安装。它提供了一个庞大的公共仓库(registry),其中包含了成千上万的开源 Node.js 包。

2》主要功能和操作:

安装依赖:使用 npm install <package-name> 命令可以安装一个特定的包。

安装所有依赖:在项目的根目录下运行 npm install 命令,会根据 package.json 文件中的依赖列表安装所有必要的包。

更新依赖:使用 npm update <package-name> 命令可以更新一个特定的包,而 npm update 命令会更新所有已安装的包。

删除依赖:使用 npm uninstall <package-name> 命令可以删除一个包。

查看已安装的包:使用 npm list 命令可以查看当前项目中已安装的包列表。

package.json 文件:

npm 的一个重要概念是 package.json 文件。这个文件描述了项目的元数据和依赖信息。通过编辑这个文件,你可以指定项目的名称、版本、描述、作者、依赖等信息。

(3-2) Yarn

1》介绍:

Yarn 是另一个流行的 Node.js 包管理工具,由 Facebook 开发。它的目标是解决 npm 在一些场景中的问题,比如性能和安全问题。

2》主要功能和操作:

安装依赖:使用 yarn add <package-name> 命令可以安装一个特定的包。

安装所有依赖:在项目的根目录下运行 yarn install 命令,会根据 package.json 文件中的依赖列表安装所有必要的包。

更新依赖:使用 yarn upgrade <package-name> 命令可以更新一个特定的包,而 yarn upgrade 命令会更新所有已安装的包。

删除依赖:使用 yarn remove <package-name> 命令可以删除一个包。

查看已安装的包:使用 yarn list 命令可以查看当前项目中已安装的包列表。

Yarn 也有一个名为 yarn.lock 的文件,它类似于 npm 的 package-lock.json 文件,用于锁定依赖的版本,确保在不同环境中安装相同版本的依赖。

(3-3)npm和yarn总结:

npm 和 Yarn 都是功能强大的 Node.js 包管理工具,它们使得开发者能够轻松地管理项目的依赖。npm 作为 Node.js 的默认包管理工具,使用广泛,但 Yarn 在一些方面提供了更好的性能和安全性。选择哪个工具取决于你的具体需求和偏好。

四、npm的安装

npm是Node.js默认的包管理工具。

Node.js在安装时会自动安装npm。如果已装好node.js可以直接使用npm。

npm是否安装检测方法:打开命令提示符,输入npm -v来查看版本号。若版本号显示则安装成功

相关推荐
丁总学Java12 小时前
微信小程序-npm支持-如何使用npm包
前端·微信小程序·npm·node.js
看到请催我学习14 小时前
如何实现两个标签页之间的通信
javascript·css·typescript·node.js·html5
NiNg_1_23418 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js
余生H18 小时前
前端的全栈混合之路Meteor篇:关于前后端分离及与各框架的对比
前端·javascript·node.js·全栈
Ink19 小时前
从底层看 path.resolve 实现
前端·node.js
奔跑吧邓邓子1 天前
npm包管理深度探索:从基础到进阶全面教程!
前端·npm·node.js
知否技术1 天前
为什么nodejs成为后端开发者的新宠?
前端·后端·node.js
谢尔登2 天前
【Node.js】worker_threads 多线程
node.js
朗朗乾坤.py2 天前
Hadoop HDFS命令操作实例
hadoop·hdfs·npm
哇咔咔哇咔2 天前
【科普】什么是npm和pip?它们之间有什么异同?
前端·npm·pip