编写器在elasticbeanstalk上部署laravel应用程序时出错

编写器在elasticbeanstalk上部署laravel应用程序时出错,laravel,amazon-web-services,composer-php,amazon-elastic-beanstalk,Laravel,Amazon Web Services,Composer Php,Amazon Elastic Beanstalk,我有一个laravel应用程序托管在elastic beanstalk上,它还与代码管道连接。部署应用程序时,ebs面板上出现以下错误: 错误:在中止部署期间,某些实例可能已部署新的应用程序版本。要确保所有实例都运行相同的版本,请重新部署相应的应用程序版本 我不知道是否相关,但当我下载日志时,我发现: > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --

我有一个laravel应用程序托管在elastic beanstalk上,它还与代码管道连接。部署应用程序时,ebs面板上出现以下错误:

错误:在中止部署期间,某些实例可能已部署新的应用程序版本。要确保所有实例都运行相同的版本,请重新部署相应的应用程序版本

我不知道是否相关,但当我下载日志时,我发现:

> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Script @php artisan package:discover --ansi handling the post-autoload-dump event 
returned with error code 1
这是我的composer.json

{
“名称”:“laravel/laravel”,
“类型”:“项目”,
“说明”:“Laravel框架”,
“关键词”:[
“框架”,
“拉威尔”
],
“许可证”:“麻省理工学院”,
“要求”:{
“php”:“^7.3”^8.0”,
“fideloper/proxy”:“^4.4”,
“水果蛋糕/laravel cors”:“^2.0”,
“guzzle http/guzzle”:“^7.3”,
“laravel/framework”:“^8.12”,
“laravel/tinker”:“^2.5”
},
“需要开发”:{
“立面/点火”:“^2.5”,
“fakerphp/faker”:“^1.9.1”,
“laravel/sail”:“^1.0.1”,
“嘲弄/嘲弄”:“^1.4.2”,
“nunomaduro/collision”:“^5.0”,
“phpunit/phpunit”:“^9.3.3”
},
“配置”:{
“优化自动加载器”:正确,
“首选安装”:“dist”,
“排序包”:true
},
“额外”:{
“拉雷维尔”:{
“不要发现”:[]
}
},
“自动加载”:{
“psr-4”:{
“App\”:“App/”,
“Database\Factories\”:“Database/Factories/”,
“数据库\种子机\:“数据库/种子机/”
}
},
“自动加载开发”:{
“psr-4”:{
“测试\:“测试/”
}
},
“最小稳定性”:“dev”,
“更喜欢稳定”:对,
“脚本”:{
“自动加载后转储”:[
“Illumb\Foundation\Composer脚本::postAutoloadDump”,
“@php artisan包:发现--ansi”
],
“根目录后软件包安装”:[
“@php-r\”文件存在('.env')||复制('.env.example','.env');\”
],
“创建项目后cmd”:[
“@php artisan密钥:生成--ansi”
]
}
}

看来你有一些打字错误。文件夹分隔的特殊字符“\”必须为“\”。 试试这个composer.json:

{
“名称”:“laravel/laravel”,
“类型”:“项目”,
“说明”:“Laravel框架”,
“关键词”:[
“框架”,
“拉威尔”
],
“许可证”:“麻省理工学院”,
“要求”:{
“php”:“^7.3”^8.0”,
“fideloper/proxy”:“^4.4”,
“水果蛋糕/laravel cors”:“^2.0”,
“guzzle http/guzzle”:“^7.3”,
“laravel/framework”:“^8.12”,
“laravel/tinker”:“^2.5”
},
“需要开发”:{
“立面/点火”:“^2.5”,
“fakerphp/faker”:“^1.9.1”,
“laravel/sail”:“^1.0.1”,
“嘲弄/嘲弄”:“^1.4.2”,
“nunomaduro/collision”:“^5.0”,
“phpunit/phpunit”:“^9.3.3”
},
“配置”:{
“优化自动加载器”:正确,
“首选安装”:“dist”,
“排序包”:true
},
“额外”:{
“拉雷维尔”:{
“不要发现”:[]
}
},
“自动加载”:{
“psr-4”:{
“App\\”:“App/”,
“Database\\Factories\\”:“Database/Factories/”,
“数据库\\种子机\\\:“数据库/种子机/”
}
},
“自动加载开发”:{
“psr-4”:{
“测试\\”:“测试/”
}
},
“最小稳定性”:“dev”,
“更喜欢稳定”:对,
“脚本”:{
“自动加载后转储”:[
“Illumb\\Foundation\\Composer脚本::postAutoloadDump”,
“@php artisan包:发现--ansi”
],
“根目录后软件包安装”:[
“@php-r\”文件存在('.env')||复制('.env.example','.env');\”
],
“创建项目后cmd”:[
“@php artisan密钥:生成--ansi”
]
}
}

现在,composer必须能够运行脚本。Composer install必须完成安装,或者向您提供有关文件的明确警告或错误信息。

所以我只是想知道发生了什么!我尝试增加我的实例,然后当我下载完整日志时,出现了新信息:

021/05/25 18:00:11.083949 [INFO] Running command /bin/sh -c composer.phar install --no-ansi --no-interaction 
2021/05/25 18:00:18.791014 [INFO] 
   ParseError 

  syntax error, unexpected character 0x1D, expecting "]"

  at app/Http/Controllers/MailController.php:28
     24▕             'nome' => $request->nome,
     25▕             'email' => $request->email,
     26▕             'assunto' => $request->assunto,
     27▕             'descricao' => $request->descricao,
  ➜  28▕             'local' => $request->localizacao,
     29▕             'pais' => $request->pais
     30▕         ]);
     31▕ 
     32▕         if($response->status() === 200)

      [2m+1 vendor frames [22m
  2   [internal]:0
      Composer\Autoload\ClassLoader::loadClass("App\Http\Controllers\MailController")

      [2m+9 vendor frames [22m
  12  routes/web.php:24
      Illuminate\Support\Facades\Facade::__callStatic("post")

2021/05/25 18:00:18.791081 [ERROR] An error occurred during execution of command [app-deploy] - [Install composer dependencies]. Stop running the command. Error: installing composer dependencies failed with error: Command /bin/sh -c composer.phar install --no-ansi --no-interaction  failed with error exit status 1. Stderr:Do not run Composer as root/super user! See https://getcomposer.org/root for details

我在vscode上看不到这些ascii码,但当我用sublime打开项目时,它们就在那里!我猜我的实例内存不足,所以它没有注销很多,当我更改层时,更多信息被注销。我刚刚删除了那些ascii码,现在它工作正常。

我的代码中确实有特殊字符。但它不在composer.json文件中