关于npm和yarn的使用(自己的问题记录)

目录

[一 npm 和 yarn 的区别](#一 npm 和 yarn 的区别)

[二 npm 和 yarn 常用命令对比](#二 npm 和 yarn 常用命令对比)

[1. 初始化项目](#1. 初始化项目)

[2. 安装所有依赖包](#2. 安装所有依赖包)

[3. 安装某个依赖包](#3. 安装某个依赖包)

4.安装某个版本的依赖包

[5. 更新依赖包](#5. 更新依赖包)

[5. 移除依赖包](#5. 移除依赖包)

[三 package.json中 devDependencies 和 dependencies 的区别。](#三 package.json中 devDependencies 和 dependencies 的区别。)

[四 npm安装包时,加 --save和不加的区别](#四 npm安装包时,加 --save和不加的区别)


一 npm 和 yarn 的区别

  1. 来源

npm 是node.js自带包管理工具,将node.js安装后,就可以直接使用npm包管理工具。

yarn 需要通过npm进行安装后才能使用。安装命令:npm install -g yarn (全局安装后所有项目都可以使用)

  1. 安装速度

yarn: 速度较快:因为它会缓存已下载的包,并在安装时利用并行下载来最大化资源利用率。

npm: 速度较慢:npm 需等待上一个任务安装完成才能运行下一个任务,尤其是在网络不稳定的情况下,可能会出现延迟和丢包的情况。

  1. 版本控制

yarn: 使用 yarn.lock 文件记录安装的包版本号,确保在不同系统上安装的依赖版本一致。

npm: 使用 package-lock.json 文件来记录确切安装的模块版本号,但需要手动执行 npm shrinkwrap 命令来生成锁定文件。

二 npm 和 yarn 常用命令对比

以 axios 为例。

1. 初始化项目

yarn init

npm init

2. 安装所有依赖包

yarn 或 yarn install

npm install

3. 安装某个依赖包

yarn add axios

npm install axios

4.安装某个版本的依赖包

yarn add [email protected]

npm install [email protected]

5. 更新依赖包

yarn upgrade axios

npm update axios

5. 移除依赖包

yarn remove axios

npm uninstall axios

三 package.json中 devDependencies 和 dependencies 的区别。

  1. dependencies: 生产环境依赖包。使用 npm install 命令安装模块时,dependencies 中的包会被安装到项目中。这些包在程序运行时必须的,没有的话慧报错,导致程序运行出错。

安装命令:npm install echarts -save

  1. devDependencies: 开发环境依赖包。只用在开发过程中,在程序正式部署时不需要。比如:webpack、glup 等。

安装命令:npm install echarts --save-dev

四 npm安装包时,加 --save和不加的区别

  1. npm install xxx --save : 命令是安装模块到项目node_modules目录下,并将模块依赖写入package.json文件中的dependencies下。如果node_modules目录被删除了(或者程序拉下来后需要初始化),使用npm install 可以自动安装所有的依赖。

  2. npm install xxx :命令是安装模块到项目node_modules目录下,但是不会将安装的依赖包写到package.json文件中。如果将node_modules目录删除,使用npm install安装所有依赖,自行安装的依赖不会被安装,如果使用,需要再次手动安装(npm install xxx)。

  3. 总结:加了--save 会更加方便再次初始化依赖包。

相关推荐
Jadon_z12 小时前
vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
前端·npm
行走的生活12 小时前
vscode中无法使用npm node
ide·vscode·npm
早知道不学Java了13 小时前
chromedriver 下载失败
前端·vue.js·react.js·npm·node.js
盼儿哥16 小时前
123网盘SDK-npm包已发布
前端·npm·node.js
打破砂锅问到底0072 天前
前端验证下跨域问题(npm验证)
前端·npm·node.js
你真会2 天前
【Node.js 深度解析】npm install 遭遇:npm ERR! code CERT_HAS_EXPIRED 错误的终极解决方案
前端·npm·node.js
程序猿小D3 天前
第4节 Node.js NPM 使用介绍
服务器·前端·vscode·npm·node.js
JackHuan_code3 天前
node-sass 报错
前端·npm·node.js·sass
醉の虾3 天前
VSCODE的终端无法执行npm命令
ide·vscode·npm
TimeDoor3 天前
npm install命令都做了哪些事情
前端·npm·node.js