yarn——包管理器的必备良药

发布时间:2023-05-18

一、yarn使用教程

Yarn是一个npm客户端的替代品,用于管理npm软件包的依赖关系。它是为了解决npm的一些问题而创建的。运行Yarn的最简单方法是使用Node.js包管理器npm进行安装。安装完后,可以使用以下命令将文件夹初始化为一个npm存储库:

yarn init

下面是一个例子:

{
  "name": "my-project",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

可在该文件中添加作者,描述等信息。接着就可以使用指令添加所需依赖,例如:

yarn add react react-dom

这将在您的目录中安装React和React Dom.

二、yarn配置

运行“yarn init”命令会创建一个package.json文件,它主要记录你的项目的依赖和相关信息,在这个过程中还需要注意设定镜像以加速下载:

yarn config set registry https://registry.npm.taobao.org

这样,当你使用yarn安装依赖时,它会使用淘宝的NPM镜像,速度明显快于默认的npm官方源。

三、yarn安装依赖

yarn安装依赖的命令是yarn add,很常用。

yarn add jquery

yarn还允许你通过在依赖包名前加上""作为前缀将包安装到devDependencies中,例如:

yarn add --dev babel-core

四、yarn安装后无法全局使用

在mac系统下,yarn默认将包安装到你的项目之中,如果要在全局使用,需要进行相关的配置。具体方法是安装yarn添加链接:

brew install yarn
echo 'export PATH="$PATH:`yarn global bin`"' >> ~/.bashrc
source ~/.bashrc
yarn global add package-name

五、yarn使用及安装

Yarn允许你使用yarn.lock文件锁定依赖项。这个文件描述了安装了项目的依赖项、版本和子依赖项,从而可以保持团队中每个人的环境一致。可以使用以下命令将项目还原到以前的版本:

yarn install --frozen-lockfile

在使用yarn命令时,会缓存你下载的包。通常开发过程中某些包的更新十分必要,于是可以运行以下命令刷新缓存:

yarn cache clean

六、yarn使用找不到路径

随着项目的不断推进,我们难免会遇到一些不确定因素,例如打包之后的路径。针对这种情况,我们可以在项目的根路径下创建一个“.yarnrc”配置文件,进行相关的设置及策略:

# 该配置文件所在的目录名
--modules-folder
## 生成的文件名    --preferred-cache-folder

七、小程序开发如何使用yarn

小程序开发中也可以使用yarn来进行包管理。特别是在有多人协同开发的情况下,yarn.lock文件中的代码版本控制十分重要。

# 初始化 
yarn init
# 添加依赖
yarn add package-name
# 删除依赖
yarn remove package-name

八、yarn使用kerberos做认证

Kerberos是一种可信的第三方验证协议,用于授权系统资源的访问权限。在使用kerberos做认证时,在yarn-site.xml文件当中可以配置相应的设置:

<property>
  <name>yarn.resourcemanager.principal</name>
  <value>rm/_HOST@EXAMPLE.COM</value>
</property>
<property>
  <name>yarn.resourcemanager.keytab</name>
  <value>/usr/hdp/current/hadoop-client/conf/yarn.keytab</value>
</property>

九、flink使用yarn提交

Apache Flink是一个分布式数据处理引擎,可用于批处理和流处理。该引擎提供了集群资源管理器,允许用户使用yarn来管理资源和提交任务。下面是一个使用yarn进行应用程序提交的例子:

./flink run -m yarn-cluster -yn 2 -ys 2 -yjm 1024 -ytm 1024 -c com.example.flink.example.HelloYarn 

十、使用torch.randn

torch类库中的randn函数可以从均值为0、方差为1的正态分布中抽取随机数。在使用时,需要定义一个Tensor形状和类型:

import torch
x = torch.randn(4, 4)

此时x已被初始化为4×4的矩阵或Tensor,其中的元素均为随机抽样的变量。