JS-51-Node.js10-yarn

一、yarn的简介

Yarn 是一款 JavaScript 的包管理工具(npm的代替方案),是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。

正如 Yarn 官网的介绍,Yarn 的具有速度快 、安全 、可靠 的优点,在功能上相比于 npm 优化了许多功能等,例如网络性能优化,安装依赖的方式相同等功能。

你可以通过它使用全世界开发者的代码,或者分享自己的代码。代码通过包(package)(或者称为模块(module))的方式来共享。 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为package.json。

package.json 文件并不是特定于 yarn 的,而是 Node.js 项目的一个标准文件,用于定义项目的各种属性依赖关系。不过,yarn(以及 npm)都会使用这个文件来管理项目的依赖和其他元数据。

当你使用 yarn 或 npm 初始化一个新的项目(通过 yarn init 或 npm init 命令)时,会提示你输入一些信息来创建这个 package.json 文件。这个文件通常包含以下内容:

  • name:项目的名称
  • version:项目的版本
  • description:项目的描述
  • main:项目的入口文件(通常是使用 Node.js 运行时的文件)
  • scripts:用于定义各种运行脚本的键值对,例如 start、test 等
  • dependencies:项目运行时需要的依赖包列表
  • devDependencies:项目开发时需要的依赖包列表(例如测试工具、打包工具等)
  • peerDependencies:与当前包一起使用的其他包的版本
  • optionalDependencies:可选的依赖包列表
  • engines:指定 Node.js 和 npm/yarn 的版本范围
  • author:项目的作者信息
  • license:项目的许可证信息
  • ...以及其他可能的字段

无论是使用 yarn 还是 npm,你都可以通过编辑 package.json 文件来管理项目的依赖和其他设置。

当你使用 yarn add 或 npm install 命令添加依赖时,这些依赖会被自动添加到 package.json 文件的 dependencies 或 devDependencies 部分中。同样地,当你使用 yarn remove 或 npm uninstall 命令移除依赖时,这些依赖也会被从 package.json 文件中删除。

二、yarn的优点

  • 快速:Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快
  • 可靠:使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
  • 安全:在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。

三、window 系统安装 Yarn

方式:下载node.js,使用npm安装

npm install -g yarn

此时可能会安装失败o(╥﹏╥)o

这个错误表明你尝试通过HTTPS协议访问npm.taobao.org的registry时,遇到了SSL证书验证问题。原因可能是:证书过期

解决方式:

1、查看当前npm配置:

npm config list

2、清空缓存

npm cache clean --force

3、修改淘宝镜像

npm config set registry https://registry.npmmirror.com

4、查看 registry是否更改成功

npm config list

此时,镜像地址已经修改完毕,再一次执行yarn的安装命令,会提示安装成功

使用包管理器安装:

除了 npm 外,还可以使用其他包管理器来安装 Yarn,比如 Homebrew(Mac)或 Chocolatey(Windows)。

四、yarn的镜像配置

Yarn 不需要太多的配置,但是你可能需要设置一些镜像源以提高下载速度。

你可以选择使用国内的镜像源来加速 Yarn 的安装和包下载过程。以下是一些常用的国内镜像源:

淘宝 NPM 镜像:https://registry.npmmirror.com/
官方 CNPM 镜像:https://r.cnpmjs.org/
京东 Yarn 镜像:https://mirrors.jd.com/npm/

你可以通过以下命令设置 Yarn 的镜像源:

yarn config set registry <mirror-url>

例如,设置淘宝 NPM 镜像:

yarn config set registry https://registry.npmmirror.com/

至此,你已经成功安装并配置了 Yarn。你可以开始使用 Yarn 来管理项目的依赖项和执行各种任务了。

五、yarn的常用命令

查看版本: yarn --version

创建文件夹 yarn: md yarn

进入yarn文件夹: cd yarn

1、初始化一个新项目

yarn init

同npm init,这个命令将引导你创建一个新的 package.json 文件,其中包含项目的基本信息和依赖项。

 

2、安装项目的全部依赖项

yarn install //安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock
yarn install --flat //安装一个包的单一版本
yarn install --force //强制重新下载所有包
yarn install --production //只安装dependencies里的包
yarn install --no-lockfile //不读取或生成yarn.lock
yarn install --pure-lockfile //不生成yarn.lock

示例:

 

3、添加依赖项

yarn add [package]            // 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
yarn add [package]@[version]  // 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
yarn add [package]@[tag]      // 安装某个tag(比如beta,next或者latest)

 

4、删除依赖项

yarn remove [package]

 这个命令用于删除项目中的某个依赖项。

当你使用 yarn add 或 npm install 命令添加依赖时,这些依赖会被自动添加到 package.json 文件的 dependencies 或 devDependencies 部分中。同样地,当你使用 yarn remove 或 npm uninstall 命令移除依赖时,这些依赖也会被从 package.json 文件中删除。

 

5、更新依赖项

yarn up [package]
yarn up [package]@[version]
yarn up [package]@[tag]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言HTTP编程:深入探索与实战应用

C语言HTTP编程&#xff1a;深入探索与实战应用 在当今的互联网时代&#xff0c;HTTP协议扮演着至关重要的角色&#xff0c;它使得客户端与服务器之间的通信成为可能。而C语言&#xff0c;作为一种高效且灵活的编程语言&#xff0c;同样在HTTP编程领域有着广泛的应用。本文将从…

MathType2025数学公式编辑器有哪些新增功能?

在当今科技飞速发展的时代&#xff0c;数学、科学和工程教育领域对于精确性和效率的要求日益增高。随着教育数字化的不断深入&#xff0c;传统的教学方式和科研手段正逐渐被新型的数字工具所取代。在这一过程中&#xff0c;MathType作为一款强大的数学公式编辑器&#xff0c;其…

Oracle大表在线重新分区

Oracle的在线重定义对一个分区表重新进行分区&#xff0c;同时不影响DML交易数据操作&#xff0c;实现的大致过程是什么&#xff0c;在生产过程中存在的风险是什么&#xff0c;如何做到对一个3亿的数据表重新分区&#xff1f; Oracle的在线重定义对一个分区表重新进行分区的大…

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测 目录 多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预…

React-组件通信

组件通信 概念&#xff1a;组件通信就是组件之间的数据传递&#xff0c;根据组件嵌套关系的不同&#xff0c;有不同的通信方法 父传子 基础实现 实现步骤&#xff1a; 1.父组件传递数据-在子组件标签上绑定属性 2.子组件接收数据-子组件通过props参数接收数据 props说明 1.…

哪个牌子的无线麦克风好用?全网揭秘无线麦克风一拖二哪个牌子好

​在浩瀚的音频产品海洋中&#xff0c;如何挑选一款适合自己的无线领夹麦克风&#xff1f;这确实是一个值得深思的问题。今天&#xff0c;我为你精心推荐这几款无线领夹麦克风&#xff0c;它以其卓越的音质、稳定的性能和便捷的无线连接&#xff0c;赢得了众多用户的青睐。无论…

独家首发 | 基于多级注意力机制的并行预测模型

基于Transformer-BiGRUGlobalAttention-CrossAttention的并行预测模型! 往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 VMD CEEMDAN 二次分解&#xff0c;Transformer-BiGRU预测模型-CSDN博客 独家原创 | 基…

Caused by: java.lang.IllegalStateException

今天在做 Room 迁移的时候&#xff0c;想测试Room 是否按预期工作&#xff0c;报上面错误&#xff1a; 检查发现 我报 它放在主线执行的使用报错了&#xff0c; 对数据库的操作由于是耗时操作&#xff0c;所以必须放在子线程中完成&#xff0c; 不允许在主线程上访问数据库&am…

机器学习算法手撕(一):KD树

import math import matplotlib.pyplot as pltclass Node:def __init__(self, data, leftNone, rightNone):self.data dataself.left leftself.right right# 创建KDTree类 class KDTree:def __init__(self, k):self.k kdef create_tree(self,dataset,depth):if not dataset…

辅导男朋友转算法岗的第2天|self Attention与kv cache

文章目录 公式KV CacheMHA、MQA、GQA 面试题为什么除以 d k \sqrt{d_k} dk​ ​Multihead的好处decoder-only模型在训练阶段和推理阶段的input有什么不同&#xff1f;手撕必背-多头注意力 公式 $ \text{Output} \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \times …

C#,JavaScript实现浮点数格式化自动保留合适的小数位数

目标 由于浮点数有漂移问题&#xff0c;转成字符串时 3.6 有可能得到 3.6000000000001&#xff0c;总之很长的一串&#xff0c;通常需要截取&#xff0c;但按照固定长度截取不一定能使用各种情况&#xff0c;如果能根据数值大小保留有效位数就好了。 C#实现 我们可以在基础库里…

【错题集-编程题】过桥(BFS)

牛客对应题目链接&#xff1a;过桥 (nowcoder.com) 一、分析题目 类似层序遍历的思想。 二、代码 //值得学习的代码 #include <iostream>using namespace std;const int N 2010;int n; int arr[N];int bfs() {int left 1, right 1;int ret 0;while(left < right)…

JDK环境配置、安装

DK环境配置&#xff08;备注&#xff1a;分32位与64位JDK&#xff0c;32位电脑只能按照32位JDK&#xff0c;64位电脑兼容32、64位JDK&#xff09; 一、检查自己电脑是否安装过JDK 1.在电脑屏幕左下角&#xff0c;输入命令提示符CMD&#xff0c;打开命令提示符应用 2.在打开界…

vivo X200系列即将发布:首发将搭载天玑最新芯片9400

随着智能手机技术的不断进步&#xff0c;vivo作为全球知名的智能手机制造商&#xff0c;一直在为用户带来创新和惊喜。最近&#xff0c;vivo的粉丝们有理由感到兴奋&#xff0c;因为最新的消息称&#xff0c;vivo X200系列即将发布&#xff0c;并且将首发搭载天玑最新的9400处理…

如何实现一个AI聊天功能

最近公司的网站上需要对接一个AI聊天功能&#xff0c;领导把这个任务分给了我&#xff0c;从最初的调研&#xff0c;学习&#xff0c;中间也踩过一些坑&#xff0c;碰到过问题&#xff0c;但最后对接成功&#xff0c;还是挺有成就感的&#xff0c;今天把这个历程和项目整理一下…

大国之间的互联网博弈:新时代的战略竞争

一、引言 随着互联网技术的飞速发展&#xff0c;网络空间已经成为国家间竞争的新领域。在这个虚拟世界中&#xff0c;大国之间的博弈愈发激烈。本文将对大国之间如何通过互联网进行博弈进行研究&#xff0c;以期为我国在网络空间的竞争中取得优势提供参考。 二、互联网博弈的背…

中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型

一、介绍 中草药识别系统。本系统基于TensorFlow搭建卷积神经网络算法&#xff08;ResNet50算法&#xff09;通过对10中常见的中草药图片数据集&#xff08;‘丹参’, ‘五味子’, ‘山茱萸’, ‘柴胡’, ‘桔梗’, ‘牡丹皮’, ‘连翘’, ‘金银花’, ‘黄姜’, ‘黄芩’&…

5.26机器人基础-DH参数 正解

1.建立DH坐标系 1.确定Zi轴&#xff08;关节轴&#xff09; 2.确定基础坐标系 3.确定Xi方向&#xff08;垂直于zi和zi1的平面&#xff09; 4.完全确定各个坐标系 例子&#xff1a; 坐标系的布局是由个人决定的&#xff0c;可以有不同的选择 标准坐标系布局&#xff1a; …

java 根据两点经纬度计算方位角(从一点到另一点的角度)

1.计算方位角的java代码 在地理信息系统中&#xff0c;经纬度是描述地球表面位置的常用坐标系统。在某些应用中&#xff0c;我们需要计算两个经纬度点之间的方位角&#xff0c;即点A到点B的方向角度。本文将介绍如何使用已知经纬度计算方位角的Java代码。 2.经纬度及方位角的…

HTML静态网页成品作业(HTML+CSS)——企业装饰公司介绍网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…