我想确定我的理解是否正确。从 CLI 进行本地开发时,我使用 Composer 引入要用于我的应用程序的包。然后将这些软件包放入我的"供应商"目录中。
现在,供应商目录包含在我的 gitignore 文件中,因此不会被推送到版本控制。但是,当我将我的应用程序部署到生产环境时,由于这些供应商包不受版本控制,因此在我的 CLI 中(当 SSH 进入我的服务器时),我需要运行作曲家更新。这将从我的 composer.lock 文件中获取所有依赖项并将它们全部安装在我的服务器上。
因此,在本地开发时,如果我拉入一个新包,我必须在服务器上运行另一个作曲家更新才能获得该新包用于生产。
如果我对此的理解正确,请告诉我。谢谢!
您可能不想在生产环境中运行composer update
。您可能希望运行composer install
.
有了composer update
,您就可以将正在使用的软件包升级到尚未测试过它们的版本。如果需要更新依赖项,可以从本地执行此操作,composer.lock
文件将得到更新。提交锁定文件后,在运行composer install
的服务器上将安装包以匹配锁定文件中的版本,以保持环境中的所有内容一致。
是的,你是对的。您还需要在服务器上安装或更新作曲家。