composer create-project 才是真正“新建一个可运行项目”的命令;它从指定包拉取完整骨架、建目录、装依赖并执行初始化脚本,而 init 仅生成空 composer.json,不创建文件或安装任何内容。

create-project 不是 init,别搞混了
直接说结论:composer create-project 才是真正“新建一个可运行项目”的命令;composer init 只生成空的 composer.json,不拉代码、不建目录、不装依赖,根本不能算“创建项目”。你敲完 composer init 发现 vendor/ 没有、index.php 没影、连文件夹都没给你建——这不是 bug,是它本来就不干这事。
-
create-project会从指定包(比如laravel/laravel)完整拉取项目骨架,解压进新目录,自动执行composer install,再跑一遍post-create-project-cmd脚本(如 Laravel 的php artisan key:generate) -
init适合已有代码但缺配置的场景,比如老项目补上 Composer 管理,而不是从零开始 - 漏写包名会报错:
Not enough arguments (missing: "package"),不是网络问题,是语法错了
必须填对包名和版本号,否则拉错分支或卡住
包名、目录名、版本号三者顺序固定,版本号必须用双引号包裹,否则 shell 会把 * 当通配符展开,报 No such file or directory。
- Laravel 最新版:
composer create-project laravel/laravel myapp - Laravel 10.x(避开自动上 11):
composer create-project laravel/laravel myapp "10.*" - Symfony 最小骨架:
composer create-project symfony/skeleton myapi(别用symfony/framework-bundle) - 想从 GitHub 主分支拉:
composer create-project laravel/laravel myapp dev-main - 目标目录用当前文件夹(不新建子目录):
composer create-project laravel/laravel .
国内用户必加镜像和 --no-dev,否则大概率卡死
默认走 packagist.org,国内直连基本超时或 404,现象是命令停住、无输出、CPU 占用低、等十分钟也不报错——这不是 Composer 坏了,是网络被墙了。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先确认是否已设镜像:
composer config -g repo.packagist,应返回类似https://mirrors.aliyun.com/composer/的地址 - 临时切镜像运行:
composer create-project --repository=https://mirrors.aliyun.com/composer/ laravel/laravel myapp - 加
--no-dev跳过require-dev里的测试/调试工具,安装速度能快 2–3 倍,尤其适合快速验证或部署 - CI/脚本里务必加
--no-interaction,否则部分模板会卡在数据库前缀、APP_NAME 等交互提问上
自定义模板也能用 create-project,但得满足两个硬条件
只要你的模板项目托管在 Git 仓库、且根目录有合法 composer.json,就能当“包”来用。但它不是扔个 ZIP 就行,必须满足两点:一是有明确 name 字段(格式为 vendor/name),二是最好定义 post-create-project-cmd 脚本做初始化。
- 已发布到 Packagist:
composer create-project your-vendor/my-template myproject - 私有 GitHub 仓库:
composer create-project --repository=https://github.com/your-vendor/my-template.git your-vendor/my-template myproject - 没设
post-create-project-cmd?那环境变量、.env 文件、权限设置这些都得手动补,白搭这个命令 - 用了
--prefer-source却没加--keep-vcs,.git 会被删掉,后续没法 git commit —— 这个组合容易被忽略
最常被跳过的其实是版本号引号和镜像配置,不是命令不会用,是输完回车发现没反应,然后反复重试、换源、重装 Composer……其实就差一对英文双引号,和一行 config -g。

















