我需要为我讨论一个非常重要的事情(可能对于在他们的项目中使用作曲家的所有用户)。我正在研究laravel。每当我在本地机器上工作时,我在供应商中添加新库后运行composer update。
现在它在本地机器上运行正常。但是当我在我的服务器上传这些文件时,会发出类似“Undefine class ....”的错误。我不知道如何在服务器上运行composer update命令(也可能不安全)。
因此,我可以通过在cmd上使用composer update
来了解哪些文件已更新。还需要哪些其他文件才能避免此错误?
答案 0 :(得分:5)
你可以:
composer update
。composer.lock
),但vendor
目录 vendor
,composer.lock
)composer install
。它会根据您的composer.lock
更新所有依赖项(因此完全版本与您在本地服务器上的上次更新版本相同)。换句话说:您不应该在服务器上运行composer update
,而是在每次投放时运行composer install
(并且您需要保留composer.lock
)
希望它会对你有所帮助。
答案 1 :(得分:2)
在composer dump-autoload
之前运行composer update
。如果仍然无法正常工作,请尝试使用composer clear-cache
答案 2 :(得分:1)
composer update
将从您的供应商文件夹更新每个包的版本。
通常如果您无法确保需要更新每个包的所有版本,则应使用composer install
错误“undefined class”的原因通常是由app.php引起的。因为服务提供程序是在app.php中定义的,但是类(包)没有安装。
为了解决您的问题,请尝试以三种方式执行此操作: