我已经阅读了关于 Yarn 的文档,并且我知道 lock 文件应该提交给 VC。参见 this并且在较高层次上解释了为什么需要锁定文件,以及 this其中列出了一堆命令,但没有太多解释它们的实际作用!
我也在 StackOverflow 上阅读了很多关于 lock 文件是否应该提交给 VC 的问题。
但是,所有文档和 SO 线程似乎都忽略了我想知道的细节,如下所示;什么是正确的程序(要运行的正确命令):
yarn.lock 文件(即在开发环境中我想提取最新的次要版本并更新 lock 文件以反射(reflect)这一点)node_modules 目录(即确保生产服务器未在依赖包的不同/破坏版本上运行)我问的部分原因是过去在服务器上执行 git pull 时,我遇到消息告诉我 yarn.lock 文件已独立更新开发/VC 过程。就我而言,绝不允许发生这种情况。
最佳答案
以下信息基于我们在 Orange 的日常使用,这可能不是唯一的事实。
1 ) 更新yarn.lock
yarn upgrade [package | package@tag | package@version | @scope/]... [--ignore-engines] [--pattern]
此命令根据 package.json 文件中指定的版本范围将依赖项更新到最新版本。 yarn.lock 文件也将被重新创建。
来源:https://yarnpkg.com/en/docs/cli/upgrade
2) 开发者之间的依赖
我建议您创建一个脚本,该脚本将借助以下工具检查当前的“推荐”版本:
yarn 检查
验证当前项目的 package.json 中包依赖的版本是否与 yarn 的锁定文件中的相匹配。
来源:https://yarnpkg.com/en/docs/cli/check
3) 更新服务器生产
与 2 ) 相同,使用 git hook 脚本,如果没有启动 yarn,应该可以帮助您 。yarn 检查 package.json 版本是否正确更新
关于javascript - yarn : Procedure for redeploying JavaScript dependencies to Production Server (usage of `yarn.lock` file),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52037320/