@gxlct008
This commit is contained in:
Xingyu Wang 2020-10-20 23:52:57 +08:00
parent 6d880fcada
commit 758909f1c0

View File

@ -1,6 +1,6 @@
[#]: collector: (lujun9972)
[#]: translator: (gxlct008)
[#]: reviewer: ( )
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Using Yarn on Ubuntu and Other Linux Distributions)
@ -10,15 +10,15 @@
在 Ubuntu 和其他 Linux 发行版上使用 Yarn
======
***本速成教程向您展示了在 Ubuntu 和 Debian Linux 上安装 Yarn 包管理器的官方方法。您还将学习到一些基本的 Yarn 命令以及彻底删除 Yarn 的步骤。***
> 本速成教程向你展示了在 Ubuntu 和 Debian Linux 上安装 Yarn 包管理器的官方方法。你还将学习到一些基本的 Yarn 命令以及彻底删除 Yarn 的步骤。
[Yarn][1] 是 Facebook 开发的开源 JavaScript 包管理器。它是流行的 npm 包管理器的一个替代品,或者应该说是改进。 [Facebook 开发团队][2] 创建 Yarn 是为了克服 [npm][3] 的缺点。 Facebook 声称 Yarn 比 npm 更快、更可靠、更安全。
与 npm 一样Yarn 为您提供一种自动安装、更新、配置和删除从全局注册表中检索到的程序包的方法。
与 npm 一样Yarn 为你提供一种自动安装、更新、配置和删除从全局注册库中检索到的程序包的方法。
Yarn 的优点是它更快,因为它缓存已下载的每个包所以无需再次下载。它还将操作并行化以最大化资源利用率。在执行每个已安装的包代码之前Yarn 还使用 [校验和来验证完整性][4]。 Yarn 还保证在一个系统上运行的安装,在任何其他系统上都会以完全相同地方式工作。
Yarn 的优点是它更快,因为它可以缓存已下载的每个包所以无需再次下载。它还将操作并行化以最大化资源利用率。在执行每个已安装的包代码之前Yarn 还使用 [校验和来验证完整性][4]。 Yarn 还保证可以在一个系统上运行的安装,在任何其他系统上都会以完全相同地方式工作。
如果您正 [在 Ubuntu 上使用 nodejs][5],那么您的系统上可能已经安装了 npm。在这种情况下您可以通过以下方式使用 npm 全局安装 Yarn
如果你正 [在 Ubuntu 上使用 node.js][5],那么你的系统上可能已经安装了 npm。在这种情况下你可以使用 npm 通过以下方式全局安装 Yarn
```
sudo npm install yarn -g
@ -30,15 +30,15 @@ sudo npm install yarn -g
![Yarn JS][6]
这里提到的指令应该适用于所有版本的 Ubuntu例如 Ubuntu 18.04、16.04 等。同样的指令集也适用于 Debian 和其他基于 Debian 的发行版。
这里提到的说明应该适用于所有版本的 Ubuntu例如 Ubuntu 18.04、16.04 等。同样的一组说明也适用于 Debian 和其他基于 Debian 的发行版。
由于本教程使用 curl 来添加 Yarn 项目的 GPG 密钥,所以最好验证一下您是否已经安装了 curl
由于本教程使用 `curl` 来添加 Yarn 项目的 GPG 密钥,所以最好验证一下你是否已经安装了 `curl`
```
sudo apt install curl
```
如果 curl 尚未安装,则上面的命令将安装它。既然有了 curl就可以使用它以如下方式添加 Yarn 项目的 GPG 密钥:
如果 `curl` 尚未安装,则上面的命令将安装它。既然有了 `curl`,你就可以使用它以如下方式添加 Yarn 项目的 GPG 密钥:
```
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
@ -50,14 +50,14 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'
```
现在可以继续了。[更新 Ubuntu][7] 或 Debian 系统,以刷新可用软件包列表,然后安装 Yarn
现在可以继续了。[更新 Ubuntu][7] 或 Debian 系统,以刷新可用软件包列表,然后安装 Yarn
```
sudo apt update
sudo apt install yarn
```
这将一起安装 Yarn 和 nodejs。该过程完成后请验证是否已成功安装 Yarn。 可以通过检查 Yarn 版本来做到这一点。
这将一起安装 Yarn 和 node.js。该过程完成后请验证是否已成功安装 Yarn。 可以通过检查 Yarn 版本来做到这一点。
```
yarn --version
@ -74,15 +74,15 @@ yarn --version
### 使用 Yarn
我假设对 JavaScript 编程以及依赖项的工作原理有一些基本的了解。我在这里不做详细介绍。我将向您展示一些基本的 Yarn 命令,这些命令将帮助您入门。
我假设对 JavaScript 编程以及依赖项的工作原理有一些基本的了解。我在这里不做详细介绍。我将向你展示一些基本的 Yarn 命令,这些命令将帮助你入门。
#### 使用 Yarn 创建一个新项目
与 npm 一样Yarn 也可以使用 package.json 文件。在这里添加依赖项。所有依赖包都缓存在项目根目录下的 node_modules 目录中。
`npm` 一样Yarn 也可以使用 `package.json` 文件。在这里添加依赖项。所有依赖包都缓存在项目根目录下的 `node_modules` 目录中。
在项目的根目录中,运行以下命令以生成新的 package.json 文件:
在项目的根目录中,运行以下命令以生成新的 `package.json` 文件:
它会问您一些问题。您可以按 Enter 跳过或使用默认值。
它会问你一些问题。你可以按回车键跳过或使用默认值。
```
yarn init
@ -99,7 +99,7 @@ success Saved package.json
Done in 82.42s.
```
这样,您就得到了一个如下的 package.json 文件:
这样,你就得到了一个如下的 `package.json` 文件:
```
{
@ -112,17 +112,17 @@ Done in 82.42s.
}
```
现在您有了 package.json您可以手动编辑它以添加或删除包依赖项也可以使用 Yarn 命令(首选)
现在你有了 `package.json`,你可以手动编辑它以添加或删除包依赖项,也可以使用 Yarn 命令(首选)
#### 使用 Yarn 添加依赖项
可以通过以下方式添加对特定包的依赖关系:
可以通过以下方式添加对特定包的依赖关系:
```
yarn add <package_name>
yarn add <包名>
```
例如,如果想在项目中使用 [Lodash][8],则可以使用 Yarn 添加它,如下所示:
例如,如果想在项目中使用 [Lodash][8],则可以使用 Yarn 添加它,如下所示:
```
yarn add lodash
@ -141,7 +141,7 @@ info All dependencies
Done in 2.67s.
```
您可以看到,此依赖项已自动添加到 package.json 文件中:
你可以看到,此依赖项已自动添加到 `package.json` 文件中:
```
{
@ -163,25 +163,25 @@ Done in 2.67s.
yarn add package@version-or-tag
```
像往常一样,您也可以手动更新 package.json 文件。
像往常一样,你也可以手动更新 `package.json` 文件。
#### 使用 Yarn 升级依赖项
可以使用以下命令将特定依赖项升级到其最新版本:
可以使用以下命令将特定依赖项升级到其最新版本:
```
yarn upgrade <package_name>
yarn upgrade <包名>
```
它将查看所​​涉及的包是否具有较新的版本,并且会相应地对其进行更新。
还可以通过以下方式更改已添加的依赖项的版本:
还可以通过以下方式更改已添加的依赖项的版本:
```
yarn upgrade package_name@version_or_tag
```
还可以使用一个命令将项目的所有依赖项升级到它们的最新版本:
还可以使用一个命令将项目的所有依赖项升级到它们的最新版本:
```
yarn upgrade
@ -191,21 +191,21 @@ yarn upgrade
#### 使用 Yarn 删除依赖项
可以通过以下方式从项目的依赖项中删除包:
可以通过以下方式从项目的依赖项中删除包:
```
yarn remove <package_name>
yarn remove <包名>
```
#### 安装所有项目依赖项
如果对您 project.json 文件进行了任何更改,则应该运行
如果对`project.json` 文件进行了任何更改,则应该运行:
```
yarn
```
或者
或者
```
yarn install
@ -215,7 +215,7 @@ yarn install
### 如何从 Ubuntu 或 Debian 中删除 Yarn
我将通过介绍从系统中删除 Yarn 的步骤来完成本教程,如果您使用上述步骤安装 Yarn 的话。如果您意识到不再需要 Yarn 了,则可以将它删除。
我将通过介绍从系统中删除 Yarn 的步骤来完成本教程,如果你使用上述步骤安装 Yarn 的话。如果你意识到不再需要 Yarn 了,则可以将它删除。
使用以下命令删除 Yarn 及其依赖项。
@ -223,19 +223,19 @@ yarn install
sudo apt purge yarn
```
也应该从源列表中把存储库信息一并删除掉:
也应该从源列表中把存储库信息一并删除掉:
```
sudo rm /etc/apt/sources.list.d/yarn.list
```
下一步删除已添加到受信任密钥的 GPG 密钥是可选的。但要做到这一点,您需要知道密钥。您可以使用 `apt-key` 命令获得它:
下一步删除已添加到受信任密钥的 GPG 密钥是可选的。但要做到这一点,你需要知道密钥。你可以使用 `apt-key` 命令获得它:
```
Warning: apt-key output should not be parsed (stdout is not a terminal) pub rsa4096 2016-10-05 [SC] 72EC F46A 56B4 AD39 C907 BBB7 1646 B01B 86E5 0310 uid [ unknown] Yarn Packaging yarn@dan.cx sub rsa4096 2016-10-05 [E] sub rsa4096 2019-01-02 [S] [expires: 2020-02-02]
Warning: apt-key output should not be parsed (stdout is not a terminal) pub rsa4096 2016-10-05 [SC] 72EC F46A 56B4 AD39 C907 BBB7 1646 B01B 86E5 0310 uid [ unknown] Yarn Packaging yarn@dan.cx sub rsa4096 2016-10-05 [E] sub rsa4096 2019-01-02 [S] [expires: 2020-02-02]
```
这里的密钥是以 pub 开始的行中 GPG 密钥指纹的最后 8 个字符。
这里的密钥是以 `pub` 开始的行中 GPG 密钥指纹的最后 8 个字符。
因此,对于我来说,密钥是 `86E50310`,我将使用以下命令将其删除:
@ -243,11 +243,11 @@ Warning: apt-key output should not be parsed (stdout is not a terminal) pub rsa4
sudo apt-key del 86E50310
```
您会在输出中看到 OK,并且 Yarn 包的 GPG 密钥将从系统信任的 GPG 密钥列表中删除。
你会在输出中看到 `OK`,并且 Yarn 包的 GPG 密钥将从系统信任的 GPG 密钥列表中删除。
我希望本教程可以帮助在 Ubuntu、Debian、Linux Mint、 elementary OS 等操作系统上安装 Yarn。 我提供了一些基本的 Yarn 命令,以帮助入门,并完成了从系统中删除 Yarn 的完整步骤。
我希望本教程可以帮助在 Ubuntu、Debian、Linux Mint、 elementary OS 等操作系统上安装 Yarn。 我提供了一些基本的 Yarn 命令,以帮助入门,并完成了从系统中删除 Yarn 的完整步骤。
希望喜欢本教程,如果有任何疑问或建议,请随时在下面留言。
希望喜欢本教程,如果有任何疑问或建议,请随时在下面留言。
--------------------------------------------------------------------------------
@ -257,7 +257,7 @@ via: https://itsfoss.com/install-yarn-ubuntu
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[gxlct008](https://github.com/gxlct008)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出