我使用Git创建了一个新分支,对我的代码应用了一些更新,检查了我的登台服务器上的那个分支,现在我无法运行与作曲家相关的任何内容。
我已经为composer.json添加了一些新的包,它们可以在我的开发环境中运行,但是一旦我在暂存环境中尝试composer update
,我就会发现类没有找到与尚未下载的类相关的错误
我试过
composer update
composer dump-autoload
php artisan clear-compiled
php artisan dump-autoload
php artisan optimize
但都会导致以下错误
PHP Fatal error: Class 'Artdarek\OAuth\OAuthServiceProvider' not found in
/var/www/sites/x/bootstrap/compiled.php on line 4321
Script php artisan clear-compiled handling the
pre-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Fatal error: Class 'Artdarek\OAuth\OAuthServiceProvider'
not found in /var/www/sites/x/bootstrap/compiled.php
on line 4321
为了让作曲家下载新文件,我还能尝试什么?
答案 0 :(得分:10)
php artisan optimize --force
该命令将重新生成/bootstrap/compiled.php
当您的环境处于调试模式时,需要--force
arg来重新生成文件。
答案 1 :(得分:0)
我确信有更优雅的方式来解决这个问题(请接受任何提供此问题的答案),但这可以通过删除整个供应商目录并再次运行composer install来解决。
我知道它不漂亮,但有时它更容易,更快。
答案 2 :(得分:0)
我遇到了完全相同的问题,我通过将文件再次通过filezilla上传到我的服务器来解决这个问题。
然而,这并没有解决你与作曲家的问题。这引出了一个问题:假设您正在使用专用服务器,您是否在服务器中全局安装了composer?如果没有,你仍然可以进行php composer.phar更新或just create an alias.
我可能误解了你的问题,并且我意识到你的问题曾被问过一段时间,但希望这会对其他人有所帮助。