当前位置: 首页 > article >正文

yarn的安装与使用以及与npm的区别(安装过程中可能会遇到的问题)

一、yarn的安装

使用npm就可以进行安装

但是需要注意的一点是yarn的使用和node版本是有关系的必须是16.0以上的版本。

输入以下代码就可以实现yarn的安装

npm install -g yarn
再通过版本号的检查来确定,yarn是否安装成功
yarn -v

二、遇到的问题

1、问题描述

在cmd终端可以查询yarn的版本号,但是在vscode的终端里却会报错,如下图:

2.问题解决

分析原因:VSCode的终端中运行一个PowerShell脚本(yarn.ps1),但是我的系统策略禁止了脚本的执行,通常是由于PowerShell的执行策略设置较为严格所致

可以在vscode输入下面的命令,查看当前的执行策略

Get-ExecutionPolicy

如果是较为严格的策略,就可以输入下面命令修改为宽松策略

(注意:这个操作可能会增加安全风险)

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

再次输入yarn -v就显示它的存在了

三、yarn和npm的区别

yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,yarn 是为了弥补 npm 的一些缺陷而出现的

  • 同为包管理工具 npm和yarn的区别

1、并行安装:yarn安装包会同时执行多个任务,npm 需等待上一个任务安装完成才能运行下一个任务

2、离线模式:如果你已经安装过一个包,用 yarn 再次安装会从缓存中获取,而 npm 会从网络下载

3、版本锁定:yarn 默认有一个 yarn.lock 文件锁定版本,保证环境统一,而 npm 默认从网络下载最新的最稳定的,版本锁定可以解决包之间版本不兼容问题,npm 也可以通过命令实现版本锁定

4、更简洁的输出:yarn 安装包时输出的信息较少,npm 输出信息冗余

  • npm存在的一些不足

1、npm install 下载速度慢,即使是重新 install 时速度依旧慢

2、同一个项目,安装的无法保持一致性。原因是因为 package.json 文件中版本号的特点导致在安装的时候代表不同的含义。

3、使用 npm 安装多个 js 包时,包会在同一时间下载和安装。安装过程中,其中一个包抛出了一个异常,但 npm 会继续安装其他包,所以错误信息就会在一大堆提示信息中丢失掉,以至于直到执行前,都不会发现实际发生的错误。

  • yarn的优点

1、安装速度快 (服务器速度快 , 并且是并行下载)

2、版本锁定,安装版本统一

3、缓存机制,如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了

4、输出简洁并且多注册来源处理。安装包时,直观地打印出必要的信息;不管包被不同的库间接关联引用多少次,只会从一个注册来源去装,防止出现混乱不一致。

npm 与 yarn 常用命令对比


http://www.kler.cn/news/363968.html

相关文章:

  • Java 开发——(下篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • WPF+MVVM案例实战-设备状态LED灯变化实现
  • Java八股文-Mysql
  • Flask集成sqlalchemy (学习笔记)
  • SL3160 dcdc150V降压5.1V/1A 车载GPS定位器供电芯片
  • SpringBoot整合HTTPS
  • 动态规划-动归基础
  • 基于neo4j的新冠治疗和新冠患者轨迹的知识图谱问答系统
  • Hallo2 长视频和高分辨率的音频驱动的肖像图像动画 (数字人技术)
  • k8s 配置私有镜像仓库认证
  • repo将每个仓库回退到第一个commit的状态
  • 工具_Nginx
  • 学习记录:js算法(七十四):跳跃游戏II
  • Linux 移植_Home_Record
  • 【Linux系统】缺页中断机制
  • springboot餐厅点餐系统
  • hi3536上ffmpeg带rtmp移植
  • 【C++复习】经典笔试题
  • 【Linux系统内核探索】进程调度
  • 【设计模式】Liskov替换原则
  • 智谱清言AI
  • Java | Leetcode Java题解之第497题非重叠矩形中的随机点
  • Spring AOP的概念与使用
  • 构建后端为etcd的CoreDNS的容器集群(一)、生成自签名证书
  • java的maven打包插件来了,package一键打包exe、dmg、rpm等
  • 小程序开发语言Java跟php的区别