45

yarn install当我将一个新包添加到已经运行的现有安装中时,添加一个新的依赖项需要 5 分钟,这就像我刚刚yarn install没有node_modules那里做的一样慢。

这是正常的吗?

我在 Windows 10 x64 上使用 Yarn 0.17.9。我确实让 Windows Defender 忽略了我的项目目录和 yarn 全局缓存目录。

编辑:这是我做的一些基准测试结果。基于它们,看起来 yarn add 实际上快了 30-40%,而真正的问题是 yarn 在 Windows 上慢了 500%

编辑2:我已经确认没有为项目和纱线缓存目录启用索引。但现在我将 yarn 从 0.16.1 升级到 0.17.9,在 Windows 中速度提高了 35-50%!但它仍然比 Linux 慢 350-400%。我已经更新了基准。

Windows 性能问题似乎存在 Github 问题:https ://github.com/yarnpkg/yarn/issues/990

基准:

--

Windows - 纱线安装(缓存):

Done in 172.29s.

Ubuntu - 纱线安装(缓存):

yarn install  48,75s user 11,32s system 117% cpu 51,161 total

--

Windows - 纱线添加 lodash:

Done in 143.11s.

Ubuntu - 纱线添加 lodash:

yarn add lodash  33,42s user 5,72s system 108% cpu 36,203 total

--

仅供参考,Ubuntu 基准测试是在 NTFS 驱动器上的同一文件夹上运行的。

用于基准测试的项目:https ://github.com/amcsi/szeremi

4

4 回答 4

28

在您的工作文件夹和纱线缓存文件夹上禁用 Windows 搜索索引以及完全或在文件夹上禁用 Windows Defender 应该会给您带来显着的性能提升。我在使用 SSD 驱动器的类似系统上减少了 30-50%,最初的时间和你的一样。

在 Yarn 缓存文件夹上禁用它也会给你一些加速。默认情况下,它的位置由yarn cache dir命令显示。%USERPROFILE%\Local Settings\Yarn\cache

要禁用对文件夹的搜索索引,请在资源管理器中找到它,右键单击,然后单击属性 - 常规 - 高级,取消选中“允许此文件夹中的文件在文件属性之外对内容进行索引”复选框,然后应用更改。

这个性能问题已经存在于 yarn github(2016 年 10 月)并且仍然开放:https ://github.com/yarnpkg/yarn/issues/990

于 2016-11-14T14:14:21.997 回答
5

我的经验...

做一个yarn start非常慢。

我的设置。我在 Windows 10 主页上运行 WSL2 Ubuntu 20。我的 WSL src 目录有一个指向 windows c:\Users\chai 的符号链接(与 WSL 拥有的任何文件系统相反,即本机 WSL 文件系统)。IE。

Filesystem      Size  Used Avail Use% Mounted on
C:\             476G  395G   82G  83% /mnt/c

我正在运行通过 WSL2 Ubuntu 安装的 yarn(即它是 linux 版本,而不是 yarn 的 windows 版本)。V v 慢。

我尝试并将相同的 src 文件复制到非符号链接目录中。IE。在 ~/tmp 下,这是一个 WSL 文件系统,而不是在 windows 文件系统下。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        251G   11G  228G   5% /

现在的速度符合预期......即。正常(或相对于以前的行为,快得令人眼花缭乱)。

所以我现在在我的反应项目中使用后一种设置。

于 2021-01-17T23:05:32.750 回答
0

对我来说,从 WSL2 降级到 WSL1。

在我的样板文件的 WSL2 纱线安装上花费了 890 秒

在 WSL1 - 245 秒。

在独立的 Ubuntu 上 - 130 秒。

https://github.com/microsoft/WSL/issues/4197

于 2021-03-25T21:22:11.373 回答
0

我曾经有同样的问题。过去只需安装一个软件包就需要 30 多分钟。我在外部驱动器和网络驱动器上有我的项目,我尝试添加扫描病毒异常路径、打开防火墙等。没有提高速度。但是,只要我 git clone 到,就说 C:/New Folder/my repo。花了1.5秒。我希望这可以解决一些开发人员的问题。

于 2019-10-31T08:11:06.100 回答