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

Laravel项目使用PuPHPeteer报错Node not found求助

解决PuPHPeteer初始化时“node未识别”的问题

以下是几个针对性的解决方案,按顺序尝试:

  • 先确认Node.js的基础运行状态
    打开终端(Windows用命令提示符/PowerShell,Linux/Mac用终端),直接执行node -v和npm -v。如果这两个命令都报错,说明Node.js根本没装对——重新下载LTS版本的Node.js安装包,安装时务必勾选“Add Node.js to PATH”选项,安装完成后重启终端再测试。

  • 手动指定Node路径给PuPHPeteer
    系统PATH没问题但PHP进程没读取到的情况很常见(比如Web服务器进程的环境变量和用户终端隔离),可以在初始化PuPHPeteer时直接传入Node的绝对路径:

    use Zoon\Puphpeteer\Puppeteer;
    
    // Windows示例路径,根据你的实际安装位置调整
    $puppeteer = Puppeteer::create([
        'node' => 'C:\Program Files\nodejs\node.exe',
    ]);
    
    // Linux/Mac示例路径
    // $puppeteer = Puppeteer::create([
    //     'node' => '/usr/bin/node',
    // ]);
    
  • 检查PHP进程的环境变量
    PHP的exec/shell_exec函数使用的PATH可能和你终端里的不一样,写个临时路由验证:

    // 在routes/web.php里添加
    Route::get('/check-path', function () {
        // Windows用这个
        echo '<pre>' . shell_exec('echo %PATH%') . '</pre>';
        // Linux/Mac换成下面这行
        // echo '<pre>' . shell_exec('echo $PATH') . '</pre>';
    });
    

    访问这个路由,如果输出里没有Node.js的安装目录,就手动把Node路径加到PHP的运行环境里:

    • 用php artisan serve的话,先在终端里执行set PATH=%PATH%;C:\Program Files\nodejs(Windows)或export PATH=$PATH:/usr/bin/node(Linux/Mac),再启动服务。
    • 用Apache/Nginx的话,修改服务器的环境变量配置,或者在虚拟主机配置里添加SetEnv PATH "/usr/bin:/usr/local/bin:/path/to/node"(Linux),Windows则在系统环境变量里添加后重启服务器。
  • 重新安装PuPHPeteer的Node依赖
    进入项目根目录,删除node_modules文件夹和package-lock.json,然后重新执行npm install github:zoonru/puphpeteer,确保安装过程没有报错。安装完成后检查node_modules/.bin目录,确认有PuPHPeteer相关的可执行脚本。

  • 重启所有相关进程
    不管是终端窗口、Laravel开发服务器还是Web服务器,修改环境变量后必须重启才能生效,别漏了这一步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:56:19