0

0

composer中如何查看所有的脚本列表_composer run-script --list用法【教程】

穿越時空

穿越時空

发布时间:2026-01-18 14:07:02

|

333人浏览过

|

来源于php中文网

原创

运行 composer run-script --list 仅当项目根目录存在含 "scripts" 键(即使为空对象)的 composer.json 时才显示脚本;若无该键、路径错误、使用全局 Composer 或脚本名含非法字符,则静默不输出;事件钩子如 post-install-cmd 会列出,但仅纯字母数字下划线命名的才是可手动执行脚本。

composer中如何查看所有的脚本列表_composer run-script --list用法【教程】

直接运行 composer run-script --list 就能列出所有已定义的脚本,但前提是项目根目录下存在 composer.json 且其中包含 "scripts" 字段。

为什么 composer run-script --list 有时不显示任何内容

常见原因不是命令错了,而是脚本没定义或路径不对:

  • composer.json 文件里压根没有 "scripts" 这个键(哪怕值是空对象 {},也得存在)
  • 当前工作目录不是项目根目录,composer 找不到正确的 composer.json
  • 用了 composer global 或其他作用域,但 --list 只读取当前项目的配置
  • 脚本名含非法字符(如空格、斜杠),Composer 会跳过解析,也不报错,只是不显示

如何确认脚本是否真的被识别

别只信 --list 的输出,直接查 composer.json 更可靠:

{
    "scripts": {
        "dev": "php -S localhost:8000 -t public",
        "test": [
            "@php vendor/bin/phpunit",
            "@phpstan"
        ],
        "post-install-cmd": "chmod +x bin/*"
    }
}

注意:post-install-cmd 这类事件钩子也会出现在 --list 结果里,但它们不是手动触发的「命名脚本」;只有键名是纯字母/数字/下划线的才会被列为可执行脚本(比如 devtest)。

LALALAND
LALALAND

AI驱动的时尚服装设计平台

下载

composer run-script 的实际调用细节

运行脚本时,Composer 会自动注入一些环境变量,并支持前置/后置钩子:

  • 脚本内可用 $COMPOSER_BIN_DIR 获取 vendor/bin 路径
  • --no-dev 会导致 dev 类脚本里的 vendor/bin/xxx 命令找不到(因为未安装 dev 依赖)
  • @php 前缀可强制使用 Composer 内置 PHP 解释器路径,避免系统 PHP 版本不一致问题
  • 如果脚本数组里某条命令失败(非零退出码),默认会中断后续命令 —— 加 --no-interaction 不影响这个行为,得靠 || true 显式忽略

真正容易被忽略的是:脚本列表不反映执行顺序,也不体现依赖关系;"test" 里写了两行命令,--list 仍只显示一行 test。想看完整执行链,得打开 composer.json 自己数。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2640

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1633

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1513

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1418

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1447

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 7.8万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号