如何将 package-lock.json 转换为 yarn.lock?

how to convert package-lock.json to yarn.lock?

我有一个包含 package-lock.json 文件的项目。

现在,我想根据 package-lock.json 文件或已存在的 node_modules 项目生成 yarn.lock 文件。

我该怎么做?谢谢。

您可以使用 yarn import 从现有的 npm 安装的 node_modules 文件夹生成 yarn.lock 文件。

yarn import 旨在通过以下两种方式之一生成 yarn.lock 文件来缓解这一挑战:

  1. 在 npm install
  2. 创建的现有 package-lock.json 文件中使用依赖关系树
  3. 如果不存在这样的文件,则根据正常require.resolve()解析规则使用在node_modules中找到的版本。

例如:

☁  api [develop] ⚡  yarn import   
yarn import v1.17.3
info found npm package-lock.json, converting to yarn.lock
warning jest > jest-cli > jest-config > jest-environment-jsdom > jsdom > left-pad@1.3.0: use String.prototype.padStart()
success Saved lockfile.
✨  Done in 21.56s.

从 yarn 1.7.0 (2018-06-04) 开始,您可以使用 yarn import 将 npm package-lock.json 转换为 yarn.lock 而不必 npm install 首先是 node_modules 然后告诉 yarn 看看那个

https://yarnpkg.com/lang/en/docs/migrating-from-npm/

https://yarnpkg.com/blog/2018/06/04/yarn-import-package-lock/

可以使用工具synp来回转换:

synp --source-file yarn.lock            # will create package-lock.json
synp --source-file package-lock.json    # will create yarn.lock