Composer配置文件composer.json详解_字段含义与配置规范【科普】-composer

composer.json 关键字段填错会导致安装失败或装错包:name 和 version 必须成对出现才被识别为可发布包;vendor 名仅允许小写字母、数字和短横线;require-dev 依赖默认随 install 安装,需 –no-dev 才跳过;psr-4 路径须带末尾斜杠;scripts 中应使用 ./vendor/bin/ 下工具而非全局命令。

composer.json 不是配置越全越好,关键字段填错一个,composer install 就可能失败或装错包。

name 和 version 字段必须成对出现才被识别为可发布包

只有当你想把项目发布到 Packagist 或私有仓库时,name(格式为 vendor/name)和 version 才是必需的。本地开发项目可以省略 version,但一旦写了 name 却没写 version,Composer 会把它当“无版本包”处理——某些命令(如 composer require 指定版本)会报 Could not find package。

  • name 中的 vendor 名不能含大写字母、下划线或点号,只允许小写字母、数字、短横线
  • 如果用 composer init 生成,它默认帮你填了 version,但实际应删掉——让 Composer 从 Git tag 自动推断更可靠
  • 私有包若走 path 仓库类型,version 可以是 dev-main 这类分支别名,但必须和源目录下的 composer.json 一致

require 和 require-dev 的依赖隔离不是靠文件分开,而是靠命令开关

require 里的包在 composer install --no-dev 或生产环境部署时会被跳过;require-dev 里的包(比如 phpunit/phpunit)默认也会装,除非你显式加 --no-dev。很多人误以为只要不写 --dev 就不会装 dev 包,其实相反。

  • composer install 默认装全部,包括 require-dev
  • composer update 默认也更新 require-dev,除非加 --no-dev
  • CI/CD 脚本里漏掉 --no-dev,可能导致生产镜像里多出测试工具,增大体积甚至引入安全风险

autoload 的 psr-4 配置路径必须是相对于 composer.json 的,且结尾要带反斜杠

"psr-4": {"App\": "src/"} 是正确写法;写成 "App\": "src"(缺末尾斜杠)会导致 Composer 找不到 src/Foo.php 里的 App\Foo 类——它会去查 srcFoo.php。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Composer配置文件composer.json详解_字段含义与配置规范【科普】-composer
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4008633+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4008633+
  • 本周更新: 0+
  • 最后更新: 2026-03-16