我们使用Yarn来安装依赖项。纱锁文件在repo中。如果与phper的composer相比,我希望当我运行yarn install
时,基于锁文件安装依赖项,并且锁文件不会改变。
使用composer install
for php,您可以在任何环境中为每个包安装相同的版本。我不明白为什么纱线不能以类似的方式起作用。
我认为使用yarn install
锁定会经常更新并且文件失去了它的意义,因为它实际上并没有锁定版本。或者我使用了错误的命令?
纱线锁定文件希望以您解释的方式工作您的yarn.lock文件是自动生成的,应该完全由Yarn处理。当您使用Yarn CLI添加/升级/删除依赖项时,它将自动更新您的yarn.lock文件。
查看文档:https://yarnpkg.com/en/docs/cli/install
yarn install用于从package.json安装包和从yarn.lock安装。 yarn.lock文件的存在确定它是安装操作还是更新操作。
yarn install在本地node_modules文件夹中安装package.json中列出的所有依赖项。
yarn.lock文件使用如下:
如果yarn.lock存在且足以满足package.json中列出的所有依赖项,则会安装yarn.lock中记录的确切版本,并且yarn.lock将保持不变。纱线不会检查更新的版本。如果yarn.lock不存在,或者不足以满足package.json中列出的所有依赖项(例如,如果手动向package.json添加依赖项),Yarn会查找满足包中约束条件的最新版本以.json。结果写入yarn.lock。