关于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 会更加方便再次初始化依赖包。

相关推荐
john_Asura5 小时前
Vue3 自定义指令完全指南
前端·javascript·vue.js·npm·html
傻小胖20 小时前
发布一个npm包,更新包,删除包
前端·npm·node.js
DN金猿1 天前
使用npm install或cnpm install报错解决
前端·npm·node.js
muzidigbig1 天前
开发并发布一个属于自己的包(npm)
npm·开发npm包步骤·npm包使用es6模块导入
沐土Arvin1 天前
理解npm的工作原理:优化你的项目依赖管理流程
开发语言·前端·javascript·设计模式·npm·node.js
lyq3153 天前
vue3+ts + vite 封装组件发布npm包
npm
新时代农民工--小明3 天前
从0开始搭建一套工具函数库,发布npm,支持commonjs模块es模块和script引入使用
前端·javascript·typescript·npm·node.js
璞~3 天前
npm : 无法加载文件 D:\javascript\npm.ps1,因为在此系统上禁止运行脚本。
前端·javascript·npm
昔冰_G3 天前
解锁webpack:对html、css、js及图片资源的抽离打包处理
前端·javascript·css·webpack·npm·html·打包
二川bro3 天前
如何将自己封装的组件发布到npm上:详细教程
前端·npm·node.js