js包管理工具yarn

简介: Yarn是类似npm的另一种javascript包管理工具。它的目的是解决使用 npm 时面临的少数问题,即:1. 安装的时候无法保证速度/一致性2. 安全问题,因为 npm 安装时允许运行代码

QQ图片20220425164728.jpg

Yarn是类似npm的另一种javascript包管理工具。


它的目的是解决使用 npm 时面临的少数问题,即:


1.      安装的时候无法保证速度/一致性


2.      安全问题,因为 npm 安装时允许运行代码


一:安装yarn


1:安装命令


npm install -g yarn

2:查看yarn版本


yarn --version

二:初始化


1:进入项目目录下执行


yarn init

2:会在根目录下生成一个package.json,与npm类似具体不做解释


三:添加依赖


1. 添加包:yarn add [pkg-name] ,会自动安装最新版本,会覆盖指定版本号


举例添加 axios :


yarn add -g axios

安装完成之后我们会在./ node_modules下发现axios文件夹:


QQ图片20220425164731.jpg


2:一次性添加多个包


yarn add -g jquery qs
# 添加jquery以及qs

3:添加指定版本的包:yarn add [pkg-name]@ver


yarn add jquery@2.1.4
#添加 2.1.4版本的jquery

4: 将包更新到指定版本:yarn upgrade [pkg-name]@ver


yarn upgrade jquery@3.0.0
# 将 jquery从2.1.4更新到3.0.0版本

5:将包更新到最新版本:yarn upgrade --latest [pkg-name]


yarn upgrade --latest jquery

6:删除包:yarn remove [pkg-name]


yarn remove jquery

7:一次删除多个包:yarn remove [pkg-name1] [pkg-name2]


yarn remove bootstrap zepto

四、yarn.lock 自动锁定安装包版本


Npm 有一个名为 shrinkwrap 的特性,其目的是在生产环境中使用时锁定包依赖。shrinkwrap 的挑战是每个开发者都必须手动运行 npm shrinkwrap 生成 npm-shrinkwrap.json 文件。


使用 Yarn,则截然不同。在安装过程中,会自动生成一个 yarn.lock 文件,yarn.lock 会记录你安装的所有大大小小的。有点类似 PHP 开发者们所熟悉的 composer.lock。yarn.lock 锁定了安装包的精确版本以及所有依赖项,只要你不删除 yarn.lock 文件,再次运行 yarn install 时,会根据其中记录的版本号获取所有依赖包。有了这个文件,你可以确定项目团队的每个成员都安装了精确的软件包版本,部署可以轻松地重现,且没有意外的 bug。你可以把 yarn.lock 提交到本库里,这样其他签出代码并运行 yarn install 时,可以保证大家安装的依赖都是完全一致的。


例如上面安装的依赖会在yarn.lock中有记录,如下图:


QQ图片20220425164734.jpg


五:yarn与npm命令对比


npm install yarn add
(N/A) yarn add --flat
(N/A) yarn add --har
npm install --no-package-lock yarn add --no-lockfile
(N/A) yarn add --pure-lockfile
npm install [package] --save yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(N/A) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(N/A) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global                     yarn global upgrade                      
npm rebuild yarn add --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install   yarn upgrade                            
npm version major                       yarn version --major                    
npm version minor                       yarn version --minor                    
npm version patch                       yarn version --patch                    


以上命令是我从yarn官网上复制过来的。


更多详情,请移步yarn官方文档:yarn.bootcss.com/docs/instal…



目录
相关文章
|
28天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
480 1
|
2月前
|
数据可视化 前端开发 JavaScript
可视化工具D3.js
可视化工具D3.js
|
15天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
103 9
|
17天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
45 10
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的箱包存储系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的箱包存储系统附带文章源码部署视频讲解等
47 5
|
1月前
|
存储 JavaScript 前端开发
Node.js 常用工具
10月更文挑战第6天
19 2
|
28天前
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
30 0
|
28天前
|
Web App开发 JavaScript 前端开发
Node.js:JavaScript世界的全能工具
Node.js:JavaScript世界的全能工具
|
1月前
|
JavaScript 网络协议
Node.js 工具模块
10月更文挑战第7天
19 0
|
2月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。