You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新环境下Laravel 5.5.x执行composer install失败,php artisan加载出错

解决Composer Install执行php artisan package:discover时目录不存在的问题

我之前在新环境部署Laravel项目时也碰到过一模一样的报错,咱们一步步来排查解决:

1. 先确认.env文件与核心目录是否存在

这个报错大概率是Laravel依赖的关键目录缺失,或者.env配置异常导致的:

  • 首先检查项目根目录下是否有.env文件:你提供的post-root-package-install脚本会自动复制.env.example到.env,但新环境下可能因为权限问题或者.env.example缺失导致复制失败。手动执行复制命令:
    cp .env.example .env
    
  • 检查Laravel必需的目录是否存在,比如storage/logs、bootstrap/cache,如果不存在就手动创建:
    mkdir -p storage/logs bootstrap/cache
    
  • 给这些目录设置正确的权限(根据你的服务器环境调整,比如Apache/Nginx的用户组):
    chmod -R 775 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache # 以Ubuntu的Apache为例
    

2. 跳过脚本先完成依赖安装,再手动处理后续步骤

有时候post-install脚本会打断整个安装流程,我们可以先跳过脚本完成依赖安装:

composer install --no-scripts

安装完成后,手动执行Laravel初始化命令:

php artisan key:generate
php artisan package:discover

这时候如果还是报错,会明确提示具体哪个目录不存在,直接创建对应目录即可。

3. 检查composer.json的Scripts配置完整性

你提供的post-install-cmd配置里写的是"Illumina...",看起来是被截断了!正常的Laravel项目post-install-cmd应该包含完整的Illuminate命令,比如:

"post-install-cmd": [
    "Illuminate\\Foundation\\ComposerScripts::postInstall",
    "php artisan optimize:clear",
    "php artisan package:discover"
]

如果你的配置确实不完整,修正成完整的命令后,再重新执行composer install。

4. 清理缓存与重新生成自动加载

如果以上步骤都试过还是有问题,清理缓存并重新生成自动加载文件:

composer dump-autoload
php artisan cache:clear
php artisan config:clear

内容的提问来源于stack exchange,提问作者syyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:28:12