当我安装一个项目时,我在进度指示器中看到了一些巨大的数字,并且安装需要很长时间:
281929/413770
但是,我的项目似乎没有 413770 依赖项。
cat yarn.lock | grep '^[^ ]' | wc -l
1257
任何想法这些数字在进度指示器中是什么以及为什么可能会使此安装如此缓慢?
当我安装一个项目时,我在进度指示器中看到了一些巨大的数字,并且安装需要很长时间:
281929/413770
但是,我的项目似乎没有 413770 依赖项。
cat yarn.lock | grep '^[^ ]' | wc -l
1257
任何想法这些数字在进度指示器中是什么以及为什么可能会使此安装如此缓慢?
正如@Paul 所说,每个包都可能有自己的依赖项。您应该能够使用以下命令查看所有包的日志:
yarn list
默认情况下显示每个依赖项。您还package.json
应该列出所有这些依赖项。
请记住,它们是多种类型的依赖项。其中一些(例如devDependencies
)仅在开发工作流程中是必需的,因此它们仅安装在您的机器本地。
关于那些大数字,我在安装时看到了它们,也问了自己几次,但我个人的猜测是:它们是块的数量/数量。块是缓冲区(缓冲区存储二进制数据)。我没有证据支持这一点,我也不完全确定。但这是我的猜测。
通过使用yarn install --verbose
,您应该能够更详细地了解安装这些软件包时发生的情况。
关于慢速安装,我认为可以肯定地说 Yarn 比 NPM 快(不应该基于意见这么说)。所以我建议保留 Yarn。您可以尝试运行:
yarn install --flat
这将只允许每个包一个版本,并且可能会在下一个包安装期间节省一些空间/时间。您只需要运行一次,因为更改将保存在您package.json
的分辨率下。文档链接
作为最后的手段,当时间很关键时,我们可能想要抑制控制台日志,它应该会稍微快一点:
yarn install --silent
当然,安装所需的时间也取决于您使用的计算机。
依赖项还有其他依赖项等。我想这是从服务器中提取的模块总数。