当前位置: 首页 > 知识库问答 >
问题:

前端 - yarn.lock文件存在,yarn install的时候,不会跟着lock文件,而是安装最新版本,然后自动修改lock文件,这是个BUG吗?

訾旭
2023-05-22

我在1.22和3.5都测过了,都有这个问题~

共有1个答案

黎腾
2023-05-22

亲测这不是一个 bug
yarn.lock 文件是 Yarn 包管理器使用的锁定文件,用于确保在多次安装依赖项时使用相同的软件包版本。它记录了每个依赖项的确切版本号和依赖关系树。

当你运行 yarn install 命令时,Yarn 会首先检查 yarn.lock 文件,如果该文件存在,它将使用其中记录的确切版本号来安装相应的软件包。这样可以确保每次安装的依赖项与上次安装时完全相同,以保持一致性和可重复性。

然而,当你运行 yarn install 时,Yarn 也会检查 package.json 文件中的依赖项定义,并根据定义更新依赖项的版本。如果 package.json 中的某个依赖项指定了一个新的版本,Yarn 将会安装该新版本,然后自动更新 yarn.lock 文件以反映这一变化。这样做的目的是为了保持依赖项的最新性,并确保在满足版本要求的前提下安装尽可能新的软件包。

因此,当运行 yarn install 时,如果存在 yarn.lock 文件,Yarn 会根据其中的版本信息安装软件包,但也会根据 package.json 中的依赖项定义来更新软件包的版本。这不是一个 bug,而是 Yarn 的预期行为,我想目的是为了平衡依赖项的版本控制和更新的需求。

 类似资料:
  • 我需要从我的中生成一个文件,但我希望避免创建。有可能吗?

  • 我想知道如何覆盖现有文件,而不是在文本接收器中自动创建新文件。 例如,如果我运行模型两次,它会创建两个文件。第二个文件是使用相同的定义文件名创建的,但名称后面有一个新数字,例如modelouput.txt、modeloutput.0.txt、modeloutput.1.txt. 如何摆脱这种自动创建版本号的方式,如果现有版本号存在,就直接覆盖它。

  • 我是stackoverflow的新海报,但我一直在阅读这些帖子以获得灵感,我很高兴成为社区的一份子。 我正在向JPanel绘制一个图像,然后希望将该图像保存到一个文件中。JPanel上的绘画很好,但当我看到图像时,它要么全白要么全黑。我不知道为什么图像没有保存它在JPanel上的样子。我想可能是我没有正确地引用面板时,将图像绘制到缓冲区和保存它?这几乎就像bufferedImage是空白的。我对a

  • 我需要打开一个现有的*。xlsx Excel文件,进行一些修改,然后将其另存为新文件(或将其流式传输到前端而不保存)。原始文件必须保持不变。 出于内存原因,我避免使用FileInputStream(如下所述:http://poi.apache.org/spreadsheet/quick-guide.html#FileInputStream )

  • 我正在尝试通过Netbeans创建一个jar文件,我可以使用Clean&Build选项,一个新的jar文件将在我的项目目录中创建。但是,我需要为家庭作业提交这些jar文件,并且这些文件中需要有.Java源文件,而不是.class文件。我的同学一般都用eclipse没有问题,但我一直没能在NetBeans中找到解决方案。 我正在使用Netbeans 8.2和Java 1.8.0_161。 如有任何帮

  • 然后将这个变量添加到arrayList,我在程序中调用WriteToFile()方法。 AddBookDialog类的代码 WriteFile类的代码 相反,当我尝试向该文件写入另一本书时,它反而覆盖了第一行 哈姆雷特:威廉莎士比亚:企鹅:FIC Shak:23 //《哈利·波特》的书中详细内容已被改写