部署 Laravel 升级 - Composer 更新或 Composer 安装

Deploy Laravel Upgrade - Composer Update or Composer Install

我的生产应用程序是基于 Laravel 5.3 构建的。自从 Laravel 5.6 出来后,我一直在升级我的 Laravel。这是我到目前为止在我的开发服务器中所做的:

  1. 查看 Laravel 站点中的每个升级更改并使用 Git 比较工具,我添加了代码更改,从 5.3 < 5.4 < 5.5 < 5.6。

  2. 编辑了我的应用程序代码以反映更改。

  3. 运行 composer update.

  4. 将所有更改提交到 Git 存储库。

到目前为止一切顺利,因为它是一台开发机器。通常当我将任何更新推送到生产服务器时,我只做 git pull origin master 就是这样。由于这是我对 Laravel 发布后的第一次升级,我担心的是,在将新更新推送到生产服务器后,我 运行:composer update 还是 composer install在我的生产服务器中?

我读过许多建议在生产服务器中使用 composer install 的帖子,我通常在向我的 Laravel 添加新包时这样做。但是在这种情况下,因为它实际上是所有核心文件的升级以及对现有软件包的更新,所以在这种情况下我仍然 运行 composer install 还是应该 composer update ?当我推送提交时,它还会从开发站点提交 composer.lock 文件。

有人可以为我澄清一下吗?

你应该总是在生产中做 composer installcomposer.lock 文件。

如果你执行 composer update 那么它可能会破坏你的应用程序,因为包的依赖性可能已经改变。

在生产中还要确保您也放置了 composer.lock 文件。 composer install 只会安装您的 composer.lock 文件中的版本,因此您将在生产和开发中拥有相同的代码。

您可以阅读更多关于

https://getcomposer.org/doc/02-libraries.md#lock-file