composer create-project 用于基于指定包快速创建新项目,如 laravel 或 symfony。命令格式为 composer create-project vendor/package-name Directory-name version,例如 composer create-project laravel/laravel my-app “10.*” 会创建名为 my-app 的目录,安装 Laravel 10 及其所有依赖。Composer 首先查找 Packagist 上的匹配版本,下载代码到新目录,读取 composer.JSon 并执行 composer install 安装依赖,最后生成自动加载文件 vendor/autoload.php。该命令适用于搭建框架应用、使用内部模板、尝试开源工具或部署测试环境。可选参数包括 –no-dev(跳过开发依赖)、–prefer-dist(优先下载压缩包)和 –stability=dev(允许不稳定版本)。若省略目录名,则以包名命名项目。通过配置私有仓库也可用于私有模板包。此命令能一键初始化结构完整、依赖齐全的项目,极大提升开发效率。

当你使用 composer create-project 命令时,Composer 会从指定的包创建一个全新的项目副本,并自动安装该项目所需的所有依赖。这个命令特别适合快速搭建基于现有框架或项目模板的应用,比如 Laravel、Symfony 或自定义的项目脚手架。
命令的基本语法
命令格式如下:
composer create-project vendor/package-name directory-name version
- vendor/package-name:你要基于哪个 Composer 包创建项目,例如 laravel/laravel
- directory-name(可选):新项目的目录名,如果不填,默认使用包名
- version(可选):指定要安装的版本,如 ^9.0 或 dev-main
例如:
composer create-project laravel/laravel my-app “10.*”
这条命令会:
- 克隆 laravel/laravel 这个项目模板
- 创建名为 my-app 的目录
- 下载并安装 Laravel 10 版本及其所有依赖
内部工作流程
执行该命令后,Composer 实际上做了这几件事:
- 查找指定包在 Packagist 上的最新匹配版本(或你指定的版本)
- 将该包的代码下载到本地新目录中(相当于 git clone + checkout)
- 读取项目根目录下的 composer.json 文件
- 根据 composer.json 中的依赖列表,自动运行 composer install
- 安装所有 require 和 require-dev 中定义的库
- 生成 vendor/autoload.php,确保自动加载正常工作
常见使用场景
这个命令非常适合以下情况:
如果你有一个私有模板包,也可以通过配置 repository 源来使用 create-project 创建项目。
小贴士与注意事项
- 如果不想创建新目录,可以省略目录名,项目会以包名命名
- 加上 –no-dev 参数可以跳过开发依赖,适合生产环境部署
- 使用 –prefer-dist 可优先下载压缩包而不是克隆 git 仓库,速度更快
- 如果包没有发布正式版本,可能需要加上 –stability=dev 或使用 dev- 分支名
基本上就这些。只要有一个合适的项目模板包,composer create-project 就能帮你一键生成结构完整、依赖齐全的新项目,省去手动配置的麻烦。
以上就是composer create-project命令是如何工作的_快速生成新项目并自动安装依赖的详细内容,更多请关注php中文网其它相关文章!