如何在 Composer 脚本中引用 vendor/bin 里的可执行文件?

2次阅读

最稳妥的方式是使用相对路径 ./vendor/bin/xxx,因为 vendor/bin 不一定在系统 $PATH 中,尤其在 CI 环境下易报“command not found”;该写法跨平台兼容且无需判断系统类型。

如何在 Composer 脚本中引用 vendor/bin 里的可执行文件?

composer 脚本中直接调用 vendor/bin 下的可执行文件,最稳妥的方式是使用相对路径 ./vendor/bin/xxx(注意开头的 ./),而不是裸命令名。

为什么不能直接写命令名?

Composer 执行脚本时,vendor/bin 不一定在系统 $PATH 中,尤其在 CI 环境或非交互式 shell 下。省略路径会导致“command not found”错误。

正确写法:用 ./vendor/bin/xxx

composer.jsonscripts 字段中,始终以 ./vendor/bin/ 开头:

  • "phpcs": "./vendor/bin/phpcs --standard=PSR12 src/"
  • "phpstan": "./vendor/bin/phpstan analyse src/ --level=max"
  • "pest": "./vendor/bin/pest --parallel"

跨平台兼容性小提示

windows 下 vendor/bin 里通常是 `.bat` 或 `.cmd` 文件(如 `phpunit.bat`),而类 unix 系统是 shell 脚本。用 ./vendor/bin/xxx 写法,Composer 会自动匹配对应可执行文件,无需额外判断系统。

如何在 Composer 脚本中引用 vendor/bin 里的可执行文件?

易森网络企业版

如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld

如何在 Composer 脚本中引用 vendor/bin 里的可执行文件? 0

查看详情 如何在 Composer 脚本中引用 vendor/bin 里的可执行文件?

避免用 bin-dir 变量拼接

虽然 Composer 支持 {$vendor-dir} 等变量,但 bin-dir 没有等效的内置变量可用。硬编码 ./vendor/bin 是最简单可靠的做法——它符合默认配置,且几乎所有项目都未改动该路径。

基本上就这些。不复杂但容易忽略,加个 ./ 就能跑通所有环境。

以上就是如何在 Composer 脚本中引用 vendor/bin 里的可执行文件?的详细内容,更多请关注php中文网其它相关文章!

text=ZqhQzanResources