create-project 总卡住是因默认直连被墙的 packagist.org,国内超时或 404;应配置镜像源如阿里云,并加 --prefer-dist 强制走压缩包通道实现秒级初始化。

直接用 composer create-project,别用 composer init —— 后者只生成空 composer.json,不拉代码、不建目录、不装依赖,根本不能算“创建新项目”。
为什么 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
create-project 拉下来的到底是什么
它本质是「克隆指定包的项目骨架 + 自动执行 composer install」的封装,拉的是含 composer.json、vendor、.env、artisan 等的完整稳定版模板,不是源码仓库。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 不加
--prefer-dist,Composer 默认走--prefer-source(即git clone),而镜像源只加速dist包,对git无效 - 加了
--prefer-dist才真正强制走压缩包通道,配合镜像源才能秒级初始化 - 某些模板(如
symfony/skeleton)默认无dist发布,此时--prefer-dist会退回到source,需先查composer show symfony/skeleton --all确认有无disttag
目录非空、包名拼错、权限不对这些坑怎么避
最常被忽略的一点:目标目录不能非空。哪怕只放了一个 .gitignore 或 README.md,create-project 就会直接失败,不提示、不覆盖、不警告——它只认空目录。
- 包名大小写、命名空间必须严格匹配源中注册名,加了
--repository-url后,Composer 不再查默认源 - 私有包失败报
Could not find package,本质是没把你的私有源当“项目源”用——要求包"type": "project",且该包已在源中被索引(即packages.json里有对应条目) - Windows WSL 或 Docker 挂载卷下,
vendor/autoload.php可能因权限缺失 symlink 而不存在,装完要立刻验证:php artisan tinker能进才代表基础链路正常
真正麻烦的不是命令本身,而是它默认不报错的静默行为:目录非空、autoload 失败、APP_KEY 没生成……全靠你手动检查,没人提醒。










