php artisan 命令报错,无论输入什么命令

阅读 11.4k
3 个回答

有以下几种情况:

  1. 你的服务提供者等框架运行前必加载的代码有问题,执行 optimize 时中断

  2. 使用composer update更新的包有问题

  3. composer update时各种情况更新中断, 依赖不完整

  4. composer update前没有运行 artisan clear-compield 导致旧的编译文件没有被清除

  5. optimize 会在 bootstrap/cache/ 文件夹下写入compiled.php 和 service.json 这类map文件,检查一下文件夹权限

不过看你这样子是用windows了,5可以忽略, 4可能性最高

推荐几组解决办法:

清理编译文件的方式

  • php artisan clear-compiled
    // 或者把上一句配置到 composer.json 中的 pre-update-cmd 以防后面又出现问题

  • composer update

使用无脚本的composer更新,并强制覆盖之前的编译内容

  • composer clearcache

  • composer update --no-scripts

  • php artisan optimize --force

暴力一点

如果还有问题, 就直接删掉vendor目录和composer.lock, 使用composer install --no-scripts重新安装,记得最后运行 php artisan optimize --force

执行:composer install 再试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏