用 composer create-project 才是真正“创建可运行新项目”的方式;composer init 只生成空配置,不拉代码、不建目录、不装依赖,根本不能算新建项目。

直接说结论:用 composer create-project 才是真正“创建可运行新项目”的方式;composer init 只生成空配置,不拉代码、不建目录、不装依赖,根本不能算新建项目。
为什么 create-project 总卡住或报错?
不是命令写错了,而是默认行为在墙外环境根本跑不通——它死守 packagist.org,国内直连基本超时或 404,现象是命令停住、无输出、CPU 占用低,等十分钟也不报错。
- 先确认是否已设镜像:
composer config -g repo.packagist,应返回类似https://mirrors.aliyun.com/composer/ - 临时加镜像运行:
composer create-project --repository-url=https://mirrors.aliyun.com/composer/ laravel/laravel myapp - 漏写包名会报
Not enough arguments (missing: "package"),这不是网络问题,是语法错了 - 版本号必须用双引号包裹,否则 shell 把
*当通配符展开,报No such file or directory
为什么加了镜像源还是慢,甚至卡在 “Downloading”?
大概率不是源的问题,而是 Composer 默认走 --prefer-source(即 clone Git 仓库),而镜像源只加速 dist 包分发,对 Git clone 无效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 真正起效的是
--prefer-dist——它强制走压缩包通道,配合镜像源才能实现秒级初始化 - 没加
--prefer-dist,即使指定了阿里云源,Composer 仍可能去 GitHub 拉.git,尤其当包的composer.json中"source"类型被优先声明时 - 某些框架模板(如
symfony/skeleton)默认无 dist 发布,此时--prefer-dist会退回到 source,需确认该包是否打了disttag
私有包或自定义模板用 create-project 失败怎么办?
报 Could not find package 的本质不是网络不通,而是 Composer 根本没把你的私有源当“项目源”用——create-project 要求包类型必须是 "type": "project",且该包需在源中被正确索引(即 packages.json 里有对应条目)。
- 私有仓库需提前部署好 Composer Repository(如 Satis、Private Packagist),或使用镜像源地址
- 加了
--repository-url后,composer create-project不再查默认源,所以包名拼写、大小写、命名空间都得严格匹配该源中的注册名 - 企业内网环境必须配好私有源,且确保该源已索引目标包(
vendor/package-name)
最常被忽略的一点:目录不能非空。哪怕只放了一个 .gitignore 或 README.md,create-project 就会直接失败,不提示、不覆盖、不警告——它只认空目录。










