在线文档教程

yarn import

yarn import

从现有的npm安装node\_modules文件夹生成yarn.lock

yarn import

该命令帮助当前依赖项目的迁移npm-shrinkwrap.json,尽可能最大限度地减少lockfile与现有依赖关系树之间的差异。

动机

许多项目目前使用npm shrinkwrap或检查它们的node_modules源代码控制,因为它们具有脆弱的依赖关系树。这些项目无法轻松迁移到Yarn,因为yarn install可能会生成一个截然不同的逻辑依赖关系树。不是所有的树都可以用Yarn代表yarn.lock,并且一些有效的树在安装时会自动被删除。这些细微差别和其他细节对人工移植构成重大障碍。

yarn import旨在通过根据正常require.resolve()解析规则使用node_modules内部版本生成yarn.lock文件来缓解这一挑战。如果Yarn解析机制无法完全满足现有的依赖关系树,则会发出警报,以便您可以手动查看更改。预先检查现有node_modules树的有效性,并且生成的锁文件应该yarninstall可行(兼容性失败,无法解析的依赖关系,自动重复数据删除等)

$ yarn import

yarn import vx.x.x success Folder in sync. warning Using version "2.2.4" of "lru-cache" instead of "2.7.3" for "ngstorage > grunt > minimatch" warning Using version "2.0.6" of "readable-stream" instead of "2.2.9" for "ngstorage > karma > chokidar > readdirp" [...] success Saved lockfile. ✨ Done in 11.96s.