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来查看版本号。若版本号显示则安装成功

相关推荐
Q_Q19632884758 小时前
python+uniapp基于微信小程序的助眠小程序
spring boot·python·小程序·django·flask·uni-app·node.js
孟陬8 小时前
事件驱动 vs 轮询:为什么 Node.js 官方推荐 `fs.watch()` 而非 `fs.watchFile`
node.js
林希_Rachel_傻希希10 小时前
Express 入门全指南:从 0 搭建你的第一个 Node Web 服务器
前端·后端·node.js
Q_Q5110082851 天前
python+uniapp基于微信小程序团购系统
spring boot·python·微信小程序·django·uni-app·node.js·php
duandashuaige1 天前
解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED
javascript·typescript·electron·npm·vue·html
云枫晖1 天前
深入浅出npm:现代JavaScript项目基石
前端·javascript·node.js
Q_Q19632884751 天前
python+vue的在线租房 房屋租赁系统
开发语言·vue.js·spring boot·python·django·flask·node.js
不会写DN1 天前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
前端双越老师1 天前
译: 构建高效 AI Agent 智能体
前端·node.js·agent
哆啦A梦15882 天前
搜索页面布局
前端·vue.js·node.js