我需要对我来说是一件非常重要的事情(可能对于所有在项目中使用作曲家的用户)。我正在研究Laravel。每当我在本地计算机上工作时,我都会在供应商中添加新库后运行作曲家更新。
现在它在本地机器上正常工作。但是,当我将这些文件上传到服务器上时,它会发出错误,例如" Undefine类...."。我不知道如何在服务器上运行Composer Update命令(也可能不安全)。
所以我只能知道通过在CMD上使用composer update
更新了哪些文件。以避免此错误需要进行其他文件?
您可以:
- 仅在需要时,在 local 服务器上运行
composer update
。 - 提交/按每个文件(包括
composer.lock
)但是vendor
目录 - 交付给您的生产服务器(没有
vendor
,带有composer.lock
) - 然后在您的生产服务器上运行
composer install
。它将根据您的composer.lock
更新您的所有依赖项(因此, eact 与本地服务器上的最后一个更新相同)。
所以换句话说:您不应在服务器上运行composer update
,只需在每个交付时composer install
(您需要保留composer.lock
)
希望它对您有帮助。
在composer update
之前运行composer dump-autoload
。如果仍然不起作用,请尝试使用composer clear-cache
composer update
将更新供应商文件夹中每个软件包的版本。
通常,如果您无法确保需要更新每个软件包的所有版本,则应使用composer install
错误"未定义类"的原因通常是由app.php.baf.baf.baf.baf。
为了解决您的问题,请尝试以三种方式执行此操作:
- 作曲家安装-No-Scripts;
- 评论尚未从app.php安装的服务提供商,然后是Composer install
- 作曲家转储 - autoload