我已经阅读了关于Yarn的文档,我知道应该将lock
文件提交到VC。请参见这篇文章,它从高层次上解释了锁定文件的必要性,以及这篇文章列出了一堆命令,却没有详细解释它们究竟是做什么的!
我也阅读了很多关于是否应该将lock
文件提交到VC的StackOverflow问题。
然而,所有的文档和SO主题似乎都忽略了我想知道的细节,即以下内容的正确程序(要运行的正确一堆命令):
- 在需要时更新
yarn.lock
文件(即在开发环境中,当我想拉取最新的次要版本并更新lock
文件以反映此更改时) - 为了使我的锁定文件与其他开发人员保持同步,以确保他们使用完全相同的依赖项版本进行开发/测试,并
- 在生产服务器上更新/重新同步
node_modules
目录(即确保生产服务器不会运行在依赖包的不同/破坏性版本上)
我提出这个问题,部分原因是在以前在服务器上执行git pull
时,我曾经面对过一些消息,告诉我yarn.lock
文件已经独立于开发/VC过程进行了更新。就我所知,这种情况永远都不应该被允许发生。
yarn add my-package@1.0.1
并且在安装新版本的包时更加勤奋,以确保与其他包的兼容性。 - Sebastian Scholle