我在laravel项目中运行 composer dump-autoload 时遇到错误
composer dump-autoload
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
You made a reference to a non-existent script @php artisan package:discover
然后执行php artisan包:发现返回
Discovered Package: barryvdh/laravel-ide-helper
Discovered Package: cartalyst/sentinel
Discovered Package: laravelcollective/html
Discovered Package: laracasts/generators
Package manifest generated successfully.
然后又得到同样的错误
composer dump-autoload
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
You made a reference to a non-existent script @php artisan package:discover
可能有什么问题? composer self-update
或composer global update
没有帮助。
答案 0 :(得分:4)
好的,我认为composer dump-autoload
即使有了这个警告就行了。 (感谢用户:Sohel0415评论)作曲家无法运行
在composer.json文件中使用@符号的脚本。
如果您想摆脱此警告,请执行
composer dump-autoload --no-scripts
或
您可以暂时从"post-autoload-dump": []
文件中"scripts": {}
删除@ composer.json
脚本,这应该是好的。
答案 1 :(得分:2)
您还可以尝试使用此命令更新全局composer
软件包。
composer self-update
我遇到此错误是因为我的Composer版本太旧,无法读取@符号。
答案 2 :(得分:0)
我已经改变
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@/usr/local/bin/php artisan package:discover --ansi"
],
"post-root-package-install": [
"@/usr/local/bin/php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@/usr/local/bin/php artisan key:generate --ansi"
]
}
到
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@/usr/local/bin/php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
在composer.json
中答案 3 :(得分:0)
我只是遇到这个问题,试图将作曲家的本机cache-clear
命令添加到我制作的名为composer nuke
的自定义脚本中。我将其用作@clear-cache
,并收到消息“您引用了不存在的脚本@ clear-cache”。
我猜@
符号仅用于自定义命令。我必须将composer cache-clear
放在自定义命令中,错误已解决,命令随后按预期运行。