composer.json应该如何在线上管理?

我本地是windows环境 线上是linux 两边php版本不一样 一个7.2 一个7.3 本地用的phpstudy 我用composer require 安装了一个包 然后composer.json更新了 提交到服务器去 请问这个时候我在服务器是执行composer.update还是 composer install 呢?网上说不要update 能否有大佬给我说明白下。这个compser.json是在版本库 lock是不在的

阅读 803
3 个回答

理论上说,依赖管理文件 composer.json 和依赖版本记录 composer.lock 都应该提交到代码仓库,同时生产环境严格使用 lock 文件来安装。

同时开发环境也应该保持一致,否则你本地使用了线上不支持的语法或者模块导致线上出错怎么办?

所以回到你的问题:

  1. 保持开发环境与生产环境一致
  2. 提交版本管理和版本记录到代码仓库
  3. 服务器上执行 install,具体参数看文档
  4. 考虑升级到 docker 吧

写到docker里,composer.lock锁定版本,要升级也得手动升级,上线执行 composer install

本地环境与线上环境不一致,不要使用composer install + composer.lock进行管理。

可以使用composer update

我推荐你使用Docker将线上线下环境统一起来。

Base镜像用 7.3-fpm-alpine3.14。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏