Yarn包管理器-CLI命令(一)

https://www.yarnpkg.com/en/docs/cli/

Yarn提供了丰富的命令行命令集,可帮助您了解Yarn软件包的各个方面,包括安装,管理,发布等。虽然此处按字母顺序提供了所有可用的命令,但一些更流行的命令是:

  • yarn add:添加一个要在当前软件包中使用的软件包。
  • yarn init:初始化程序包的开发。
  • yarn install:安装在package.json文件中定义的所有依赖项。
  • yarn publish:将程序包发布到程序包管理器。
  • yarn remove:从当前包装中移除未使用的包装。

默认命令

不使用任何命令运行yarn都会运行纱线安装,并传递任何提供的标志。

用户定义的脚本

运行yarn <script> [<args>]将运行用户定义的脚本。参见yarn运行。

本地安装的CLI

运行yarn <command> [<args>] 如果与本地安装的CLI匹配,将运行该命令。因此,您无需为简单的用例设置用户定义的脚本。

并发和--mutex

当在同一服务器上以同一用户身份运行多个yarn实例时,可以通过传递全局标志--mutex和文件或网络来确保在给定的时间仅运行一个实例(并避免冲突)。使用文件Yarn时,默认情况下将在当前工作目录中写入/读取互斥文件.yarn-single-instance。您还可以指定备用或全局文件名。

--mutex file
--mutex file:/tmp/.yarn-mutex

使用网络时,默认情况下,Yarn将在端口31997处创建服务器。您还可以指定备用端口。

--mutex network
--mutex network:30330

详细输出--verbose

运行yarn <command> --verbose将为执行打印详细信息(创建目录,复制文件,HTTP请求等)。

yarn add

安装软件包及其依赖的任何软件包。

通常,包只是带有代码的文件夹和描述内容的package.json文件。当您要使用另一个软件包时,首先需要将其添加到依赖项中。这意味着运行yarn add [package-name]将其安装到您的项目中。这还将更新您的package.json和yarn.lock,以便其他从事该项目的开发人员在运行yarn或yarn install时将获得与您相同的依赖项。大多数软件包将从npm注册表中安装,并以其软件包名称简称。例如,yarn add react将从npm注册表中安装react软件包。

您可以使用以下选项之一指定版本:

  1. yarn add package-name将安装软件包的“最新”版本。
  2. yarn add package-name@1.2.3从注册表中安装特定版本的软件包。
  3. yarn add package-name@tag会安装特定的“标签”(例如beta,next或最新的)。

您还可以指定来自不同位置的软件包:

  1. yarn add package-name将从npm注册表中安装软件包,除非您在package.json中指定了另一个软件包。
  2. yarn add file:/path/to/local/folder安装本地文件系统上的软件包。这对于测试尚未发布到注册表的其他软件包很有用。
  3. yarn add file:/path/to/local/tarball.tgz从压缩的tarball安装软件包,该软件包可用于在发布之前共享软件包。
  4. yarn add link:/ path / to / local / folder将符号链接安装到本地文件系统上的软件包。这对于在monorepo环境中开发相关软件包很有用。
  5. yarn add <git remote url>从远程git仓库安装软件包。
  6. yarn add <git remote url>#<branch / commit / tag>从远程git存储库中的特定git分支,git commit或git tag安装软件包。
  7. yarn add https://my-project.org/package.tgz从远程压缩的tarball安装软件包。

注意事项

如果以前使用过像npm这样的软件包管理器,则可能正在寻找如何添加全局依赖项。对于绝大多数软件包,由于它们是隐式的,因此具有全局依赖性被认为是不好的做法。最好在本地添加所有依赖项,以便它们是显式的,并且使用您的项目的其他任何人都将获得相同的依赖项集。如果尝试使用具有bin的CLI工具,则可以在./node_modules/.bin目录中访问它们。您还可以使用全局命令:

yarn global add <package...>

命令

yarn add <package...>这将在您的依赖项中安装一个或多个软件包。
yarn add <package...> [--dev/-D]使用--dev或-D将在devDependencies中安装一个或多个软件包。
yarn add <package...> [--peer/-P]使用--peer或-P将在您的peerDependencies中安装一个或多个软件包。
yarn add <package...> [--optional/-O]使用--optional或-O将在optionalDependencies中安装一个或多个软件包。
yarn add <package...> [--exact/-E]使用--exact或-E将软件包安装为确切版本。默认设置是使用具有相同主版本的最新版本。例如,yarn add foo@1.2.3将接受版本1.9.1,而yarn add foo@1.2.3 --exact将仅接受版本1.2.3。
yarn add <package...> [--tilde/-T]使用--tilde或-T安装具有相同次要版本的软件包的最新版本。默认设置是使用具有相同主版本的最新版本。例如,yarn add foo@1.2.3 --tilde将接受1.2.9,但不接受1.3.0。
yarn add <package...> [--ignore-workspace-root-check/-W]使用--ignore-workspace-root-check或-W允许将软件包安装在工作区根目录下。这通常不是期望的行为,因为通常期望依赖项是工作空间的一部分。例如,在工作区根目录下添加yarn lerna --ignore-workspace-root-check --dev将允许lerna在根package.json的脚本中使用。
yarn add <alias-package>@npm:<package>这将在自定义别名下安装软件包。别名,允许安装相同依赖项的多个版本,每个版本都通过给定的别名包名称进行引用。例如,yarn add my-foo @ npm:foo将在依赖项中以指定别名my-foo安装软件包foo(最新版本)。另外,yarn add my-foo @ npm:foo@1.0.1允许安装特定版本的foo。
yarn add <package...> --audit检查已安装软件包的已知安全问题。发现的问题数量将添加到输出中。有关详细信息,请使用yarn audit命令。

yarn audit

对已安装的软件包执行漏洞审核。

yarn audit [--verbose] [--json] [--level]

检查已安装软件包的已知安全问题。输出是已知问题的列表。您必须在线才能执行审核。如果指定了[--offline] general标志,则将跳过审核。如果发现任何严重性问题,该命令将以非零退出代码退出。退出代码将掩盖严重性。

  • 1 for INFO
  • 2 for LOW
  • 4 for MODERATE
  • 8 for HIGH
  • 16 for CRITICAL

例如,如果仅找到INFO和MODERATE漏洞,则退出代码将为1 + 4 = 5.

为了编写脚本,yarn audit还支持--json标志,该标志将以JSON行格式(每行一个JSON对象)而不是纯文本格式输出问题的详细信息。如果您在使用audit命令时遇到问题,请使用--verbose标志运行,该标志将输出yarn发送到npm注册表的JSON数据以及响应数据,并在GitHub上打开一个包含此数据的问题。

命令

yarn audit [--level info|low|moderate|high|critical]
应用级别标志会将审核表限制为相应级别和更高级别的漏洞。它不会影响命令的退出代码。

yarn autoclean

从软件包依赖项中清除并删除不必要的文件。

yarn autoclean [-I/--init] [-F/--force]

autoclean命令通过从依赖项中删除不必要的文件和文件夹来释放空间。这样可以减少项目的node_modules文件夹中的文件数,这在将包直接检入版本控制的环境中很有用。

注意:仅在高级用例中考虑此命令。除非您遇到与node_modules一起安装的文件数量问题,否则不建议使用此命令。它将永久删除node_modules中的文件,这可能导致程序包停止工作。

默认情况下,自动清除功能是禁用的。要启用它,请手动创建.yarnclean文件,或运行yarn autoclean --init以使用默认条目创建文件。.yarnclean文件应添加到版本控制中。程序包中存在.yarnclean文件时,将启用自动清理功能。清理将执行:

  • 运行install后
  • 运行add后
  • 运行yarn autoclean --force命令

通过读取.yarnclean文件的每一行并将每行用作要删除的文件的全局模式来执行清理。

选项:

-I /-init:如果.yarnclean文件不存在,则创建它,并添加默认条目。然后应检查并编辑此文件,以自定义要清除的文件。如果文件已经存在,则不会被覆盖。
-F /-force:如果存在.yarnclean文件,请运行清理过程。如果该文件不存在,则不执行任何操作。

默认:

使用yarn autoclean --init命令创建.yarnclean文件时,该文件将预先填充一组默认项以供删除。此默认列表是对可能不需要的猜测。无法预测所有现有和将来的NPM软件包实际上不必要的所有目录和文件,因此此默认列表可能会导致软件包不再起作用。强烈建议您手动查看.yarnclean中的默认条目,并根据需要对其进行自定义。如果发现自动清除过程正在删除软件包正常运行所需的文件,则应从.yarnclean文件中删除相应的条目。

示例:

您决定可以安全地删除node_modules中安装的所有依赖项中的所有YAML和Markdown文件。您制作一个包含以下内容的.yarnclean文件:

*.yaml
*.md

然后运行yarn install或yarn autoclean --force。清理过程将递归删除node_modules /中的所有* .yaml和* .md文件(包括嵌套的传递依赖项)。

yarn bin

显示yarn bin文件夹的位置。

yarn bin [<executable>]

yarn bin将打印文件夹,yarn将在其中安装程序包的可执行文件。可执行文件的示例可能是您为包定义的脚本,该脚本可以通过yarn run执行。

$ yarn bin
/home/emillumine/Code/Funkwhale/funkwhale/front/node_modules/.bin
yarn bin <executable>

将打印可执行文件的路径。

$ yarn bin gettext-compile
/home/emillumine/Code/Funkwhale/funkwhale/front/node_modules/.bin/gettext-compile

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值