composer update
报
composer clearcache
sh: composer: command not found
Script composer clearcache handling the pre-update-cmd event returned with error code 127
干掉这一行,问题解决
“scripts”: {
“pre-update-cmd”: “composer clearcache”,
}
Could you post your entire composer.json file ?
It should contain something like this:
pre-update-cmd: [
]
https://stackoverflow.com/questions/33612983/script-php-artisan-clear-compiled-handling-the-pre-update-cmd-event-returned-wit
https://stackoverflow.com/questions/23043063/script-php-artisan-clear-compiled-handling-the-post-update-cmd-event-returned-wi
Script php artisan clear-compiled handling the pre-update-cmd event returned with error code 255
php artisan clear-compiled
Script php artisan clear-compiled handling the pre-update-cmd event returned with error code 255
用下面这个命令:
sudo composer install –no-scripts
https://www.jb51.cc/php/139835.html
composer update 升级laravel时遇到 “Script php artisan optimize handling the post-update-cmd event returned with error code 255”
试试:
首先:删除bootstrap/cache 下的php文件
然后:
composer dumpautoload
composer update
事件和自定义脚本
https://learnku.com/docs/composer/2018/scripts/2095
什么是 script ?
script 被定义在 composer.json 里,可以是 PHP 类静态方法,也可以是可执行的命令行调用。script 是用来 Composer 执行时执行扩展包里的自定义代码,或者扩展包专属的命令行。
注:只有项目里的 composer.json 会被执行,很多时候我们的项目会依赖于多个扩展,这些扩展里的里 composer.json 配置的 script 将不会被执行。
事件名称
Composer 在执行的过程中会触发这些事件,你可以通过监控这些事件来控制 scirpt 的执行顺序。
命令事件
pre-install-cmd: 当项目里有 composer.lock 文件的情况下调用 install 命令执行前
post-install-cmd: 当项目里有 composer.lock 文件的情况下调用 install 命令执行后
pre-update-cmd: 当 update 命令被执行前,或者当项目里没有 composer.lock 文件的情况下调用 install 命令执行前
post-update-cmd: 当 update 命令被执行后,或者当项目里没有 composer.lock 文件的情况下调用 install 命令执行后
post-status-cmd: 当 status 命令被执行后
pre-archive-cmd: 当 archive 命令被执行前
post-archive-cmd: 当 archive 命令被执行后
pre-autoload-dump: 当自动加载器 dump 成功了前触发,调用 install/update 或者 dump-autoload 命令时都会触发此事件
post-autoload-dump: 当自动加载器 dump 成功了后触发,调用 install/update 或者 dump-autoload 命令时都会触发此事件
post-root-package-install: 当执行 create-project 命令时,在根项目安装成功后
post-create-project-cmd: 当 create-project 命令被执行后
安装器事件
pre-dependencies-solving: 当依赖被解析前
post-dependencies-solving: 当依赖被解析后
扩展包事件
pre-package-install: 当扩展包被安装前
post-package-install: 当扩展包被安装后
pre-package-update: 当扩展包被更新前
post-package-update: 当扩展包被更新后
pre-package-uninstall: 当扩展包被移除前
post-package-uninstall: 当扩展包被移除后
插件事件
init: 当 Composer 实例初始化成功后触发
command: 在命令行里执行任何 Composer 命令前都会调用,提供了一个可读取程序输入和输出对象的接口
pre-file-download: 在文件还未被下载前,允许你操作 RemoteFilesystem 文件下载对象
pre-command-run: 当命令一个命令被执行前,允许你对 InputInterface 对象进行操作,例如命令输入的 options 和 arguments ,以此来控制命令的行为
请注意:在 install 或者 update 前,Composer 对你的依赖是一无所知的,所以你不应该在 pre-update-cmd 或者 pre-install-cmd 事件中使用任何第三方依赖的命令。如果你不得不这么做,你可以在你的项目里编写逻辑,然后在 install 或 update 命令触发时调用你自己的命令。
定义 scripts
我们需要在项目的 composer.json 定义一个叫 “scripts” 的选项,在此选项里,设置事件名称和对应的要执行的命令或脚本。命令和脚本的值可以是字符串的名称,也可以是数组(单个或者多个)。
对于每一个事件:
Scripts 执行的顺序遵循事件触发的顺序;
事件对于的值为数组的,数组里的每个项可以是 PHP 脚本或者是命令行;
PHP 类定义的回调,必须由 Composer 的加载器价值;
回调可以是 psr-0, psr-4 或者 classmap 定义。如果你的脚本需要外部依赖,你需要自己加载这些类依赖。
https://docs.phpcomposer.com/articles/scripts.html
http://getcomposer.org/apidoc/1.0.0-alpha5/Composer/Script/Event.html