首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纱线:将JavaScript依赖项重新部署到生产服务器的过程( `yarn.lock`文件的使用)

问纱线:将JavaScript依赖项重新部署到生产服务器的过程( `yarn.lock`文件的使用)
EN

Stack Overflow用户
提问于 2018-08-27 10:29:10
回答 2查看 280关注 0票数 17

我已经阅读了Yarn的文档,并且我知道lock文件应该被提交给VC。请参阅这并在较高级别解释为什么锁文件是必要的,以及这,它列出了一堆命令,但没有对它们的实际操作做太多解释!

我还阅读了很多关于StackOverflow的问题,这些问题询问lock文件是否应该提交给VC。

但是,所有的文档和线程似乎忽略了我想知道的细节,如下所示:正确的过程(要运行的正确命令)是什么?

  1. 需要时更新yarn.lock文件(例如,在开发环境中,我希望提取最新的次要版本,并更新lock文件以反映这一点)
  2. 使我的锁文件与其他开发人员保持同步,以确保他们从完全相同的依赖关系版本中开发/测试,以及
  3. 用于更新/重新同步生产服务器上的node_modules目录(即确保生产服务器不运行在依赖包的不同/中断版本上)

我问这个问题的部分原因是,在过去在服务器上执行git pull时,我遇到的消息告诉我,yarn.lock文件是独立于开发/VC过程更新的。就我而言,这是不应该允许的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-06 07:18:09

  1. 老实说,这是一个意见/偏好的问题。我看到了一些策略:
代码语言:javascript
复制
- Using `yarn upgrade`
- Manually bumping the version in `package.json` before running `yarn`

​

  1. 正如Fabien提到的:使用yarn check
  2. 您可以使用脱机镜像将npm包的缓存提交到版本控制中。(见这媒体文章) 此外,在使用yarn --offline时还有很多优点
代码语言:javascript
复制
- Builds are faster because you don't have to fetch packages from the npm registry.
- Your builds will fail if you do not have the right dependencies.

​

票数 1
EN

Stack Overflow用户

发布于 2018-09-04 08:37:40

下面的信息是基于我们每天在奥兰治使用的,这可能不是唯一的事实。

1)更新yarn.lock

代码语言:javascript
复制
yarn upgrade [package | package@tag | package@version | @scope/]... [--ignore-engines] [--pattern]

此命令根据package.json文件中指定的版本范围将依赖项更新到其最新版本。yarn.lock文件也将被重新创建。

来源:https://yarnpkg.com/en/docs/cli/upgrade

2)开发人员之间的依赖性

我建议您创建一个脚本,在以下帮助下检查当前的“推荐”版本:

yarn check

验证当前项目的package.json中的包依赖项的版本是否与纱线的锁文件中的版本匹配。

来源:https://yarnpkg.com/en/docs/cli/check

3)更新服务器生产

与使用git钩子脚本相同,如果yarn check版本不正确,如果不启动yarn update,则应该帮助您实现yarn update。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52037320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档