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

Laravel 10.16.1+MacOS环境下NativePHP应用启动失败求助

Laravel 10 + NativePHP 在MacOS下执行php artisan native:serve报错:找不到Info.plist文件

问题场景

使用Laravel 10.16.1版本搭配MacOS系统,首次尝试通过php artisan native:serve启动NativePHP应用时,触发如下错误:

Starting NativePHP dev server…
Fetching latest dependencies…
Starting NativePHP app…

   ErrorException 

  file_get_contents(/home/user/processApp-native/vendor/nativephp/electron/src/Commands/../../resources/js/node_modules/electron/dist/Electron.app/Contents/Info.plist): Failed to open stream: No such file or directory

  at vendor/nativephp/electron/src/Commands/DevelopCommand.php:65
     61▕      * @return void
     62▕      */
     63▕     protected function patchPlist()
     64▕     {
  ➜  65▕         $pList = file_get_contents(__DIR__.'/../../resources/js/node_modules/electron/dist/Electron.app/Contents/Info.plist');
     66▕ 
     67▕         // Change the CFBundleName to the correct app name
     68▕         $pattern = '/(<key>CFBundleName<\/key>\s+<string>)(.*?)(<\/string>)/m';
     69▕         $pList = preg_replace($pattern, '$1'.config('app.name').'$3', $pList);

      +14 vendor frames 

  15  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))'

错误原因

NativePHP的DevelopCommand启动时会尝试修改Electron应用的Info.plist文件,但Electron依赖未被正确安装,导致目标文件路径不存在。通常是自动安装依赖时网络或权限问题导致下载不完整。

解决步骤

1. 手动安装Electron依赖

进入NativePHP的Electron资源目录,手动执行npm安装:

cd vendor/nativephp/electron/resources/js
npm install

安装完成后检查node_modules/electron/dist/Electron.app/Contents/Info.plist是否存在,若存在则重新执行php artisan native:serve。

2. 清理缓存后重新安装所有依赖

如果第一步无效,彻底清理现有依赖后重新安装:

# 清理PHP依赖
rm -rf vendor composer.lock
composer install

# 清理并重新安装Electron依赖
cd vendor/nativephp/electron/resources/js
rm -rf node_modules package-lock.json
npm install

3. 指定稳定版Electron(可选)

若自动安装的Electron版本存在兼容性问题,可手动指定稳定版本:

  1. 编辑vendor/nativephp/electron/resources/js/package.json,将electron依赖改为稳定版本,例如:
    "dependencies": {
        "electron": "^25.0.0"
    }
    
  2. 执行npm install重新安装依赖,再尝试启动应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:12:41