为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?

Posted

技术标签:

【中文标题】为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?【英文标题】:Why does my project have both a package-lock.json and yarn.lock file?为什么我的项目同时有 package-lock.json 和 yarn.lock 文件? 【发布时间】:2021-06-10 22:14:25 【问题描述】:

我正在做一个 React 项目。

我只在项目中使用了npm。我不确定 yarn.lock 文件最初是如何生成的。因为我没有使用yarn,所以删除yarn.lock可以吗?

当我运行npm install <package> 安装包时,yarn.lock 更新但package-lock.json 保持不变,这是为什么呢?

我需要package-lock.jsonyarn.lock 文件吗?

【问题讨论】:

您是否曾经将 npm 别名为 yarn 之类的?是否有多人参与这个项目? 我是唯一一个从事这个项目的人。我不知道如何给npm 起别名,所以我假设不是。 当你在终端上写 $ npm 你看到 Usage: npm 了吗?如果你看到这个,npm 没有别名。 我终端的输出是Usage: npm <command>,所以没有别名。谢谢 【参考方案1】:

通常,当你使用 npm 时,你会看到一个 package.json 和一个 package-lock.json 文件。

当你使用 yarn 时,你会看到一个package.json 和一个yarn.lock 文件。

我建议先将你的功能项目push到git,然后将项目克隆到具有相同内容的新存储库并做一些测试:

    删除node_modulesyarn.lockpackage-lock.json npm install

你不应该再看到yarn.lock了。

【讨论】:

未创建 yarn.lock 文件。我现在只有一个package-lock.json,在我的开发环境中一切似乎都运行良好。谢谢

以上是关于为啥我的项目同时有 package-lock.json 和 yarn.lock 文件?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 React 应用程序中的两个点击事件会同时运行?

我的电脑有两张网卡,为啥不能同时用?

在 BizTalk 中,为啥要同时导入和安装 MSI 文件?

为啥 Grails(在 Tomcat 中)同时记录到 catalina.out 和我的自定义文件附加程序?

为啥我的 SoundPool 声音没有在 onClick() 中同时播放?

为啥要同时使用控制器和演示器? [复制]