纱线形成纱线。执行yarn安装后锁定文件。
这应该提交到存储库还是忽略?这是干什么用的?
纱线形成纱线。执行yarn安装后锁定文件。
这应该提交到存储库还是忽略?这是干什么用的?
当前回答
是的,你应该签入它,参见从npm迁移
这是干什么用的? npm客户端非确定性地将依赖项安装到node_modules目录中。这意味着根据所安装依赖项的顺序,node_modules目录的结构可能因人而异。这些差异可能会导致我的机器上的bug,需要很长时间才能找到。
Yarn通过使用锁文件和确定可靠的安装算法解决了这些关于版本控制和不确定性的问题。这些锁文件将已安装的依赖项锁定到特定版本,并确保所有机器上的node_modules中的每次安装都产生完全相同的文件结构。
其他回答
我想是的,因为Yarn会自己制作纱线。锁文件: https://github.com/yarnpkg/yarn
它用于确定包依赖项解析。
是的,你应该承诺。了解更多关于纱线的知识。锁定文件,参考这里的官方文档
是的,你应该签入它,参见从npm迁移
这是干什么用的? npm客户端非确定性地将依赖项安装到node_modules目录中。这意味着根据所安装依赖项的顺序,node_modules目录的结构可能因人而异。这些差异可能会导致我的机器上的bug,需要很长时间才能找到。
Yarn通过使用锁文件和确定可靠的安装算法解决了这些关于版本控制和不确定性的问题。这些锁文件将已安装的依赖项锁定到特定版本,并确保所有机器上的node_modules中的每次安装都产生完全相同的文件结构。
不是要唱反调,但是我已经慢慢地(在过去的几年里)意识到你不应该提交锁文件。
我知道他们所有的文件都说你应该这么做。但这又能有什么用呢!在我看来,弊远大于利。
基本上,我花了无数小时调试问题,最终通过删除锁文件解决了这些问题。例如,锁文件可以包含有关使用哪个包注册中心的信息,而在不同用户访问不同注册中心的企业环境中,这将导致灾难。
Additionally, the lock files can really mess up your dependency tree. Because yarn and npm create a complex tree and keep external modules of different versions in different places (e.g. in the node_modules folder within a module in the top node_modules folder of your app), if you update dependencies frequently, it can create a real mess. Again, I have spent tons of time trying to figure out what an old version of a module was still being used in a dependency wherein the module version had been updated, only to find that deleting the lock file and the node_modules folder solved all the hard-to-diagnose problems.
我现在甚至有shell别名,在运行yarn或npm之前删除锁文件(有时也删除node_modules文件夹!)
只是硬币的另一面,我猜,但盲目地遵循这个教条会让你付出代价........
取决于你的项目是什么:
你的项目是一个应用程序吗?然后:是的 你的项目是图书馆吗?如果有:没有
更详细的描述可以在这个GitHub问题中找到Yarn的创建者之一。说:
包。Json描述了原作者所期望的版本,而yarn。Lock描述给定应用程序的最后一个已知良好配置。
只有纱线。将使用顶级项目的锁文件。因此,除非一个项目将被单独使用,而不是安装到另一个项目中,否则提交任何yarn都是没有用的。锁定文件-相反,它将始终取决于包。json文件来传达项目期望的依赖项的版本。