跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

composer怎么安装Yii2框架_composer怎么初始化Yii2项目【建议】

应使用 composer create-project 初始化 Yii2 项目,如 composer create-project --prefer-dist yiisoft/yii2-app-basic basic,避免手动 init 导致依赖、autoload 或插件配置错误;需确保 PHP ≥ 7.4、扩展齐全,清理 vendor 和 composer.lock 后重试,并配置国内镜像源加速安装。 直接用
composer create-project
初始化 Yii2 项目,别手动
composer init
Yii2 官方不推荐从空项目开始手配
composer.json
,因为依赖关系、autoload 配置、脚手架目录结构都已固化。手动初始化容易漏掉
yiisoft/yii2-composer
插件或错误设置
"minimum-stability"
,导致后续
composer install
失败或
yii
命令不可用。 实操建议: 运行
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
(基础版)或
yiisoft/yii2-app-advanced advanced
(高级版) 加
--stability=stable
显式指定稳定版,避免因默认
minimum-stability
是
dev
导致拉取到不兼容的 dev 分支 路径名(如
basic
)会自动生成对应目录,别写成绝对路径或带空格名称 首次运行后,
vendor/bin/yii
就可直接执行,不用再跑
init
脚本(除非你选了高级版且需多环境配置) 安装失败常见报错:「require yisoft/yii2 ~2.0.43」不满足或「Class 'Yii' not found」 这通常不是 Composer 本身问题,而是 PHP 环境或锁文件残留导致的依赖解析冲突。Yii2 对 PHP 版本、扩展(如
mbstring
、
openssl
)有硬性要求,且
composer.lock
若来自旧项目,可能锁定过期的子依赖。 实操建议: 确认 PHP 版本 ≥ 7.4(Yii2.0 最低要求),运行
php -v
和
php -m | grep -E 'mbstring|openssl|pdo|json'
删掉已有
composer.lock
和
vendor/
目录再重试,不要复用其他项目的 lock 文件 如果提示
require yisoft/yii2 ~2.0.43
不满足,说明本地已装更高版本(如 2.0.45),但某子包声明了严格范围——此时加
--ignore-platform-reqs
仅作临时调试,生产环境应升级对应子包
Class 'Yii' not found
多因
vendor/autoload.php
没被入口文件引入,检查
web/index.php
开头是否有
require __DIR__ . '/../vendor/autoload.php';
composer global require
不适合装 Yii2,它只适合 CLI 工具 有人想全局装
yiisoft/yii2
方便到处用,这是误解。
composer global
是给
phpunit
、
laravel/installer
这类命令行工具设计的,而 Yii2 是框架,必须按项目隔离安装——它的
autoload
规则、配置路径、Web 入口都绑定在项目根目录下。 Composer 2.9.6 Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。 下载 实操建议: 绝对不要运行
composer global require yiisoft/yii2
,它不会生成
vendor/bin/yii
,也不会配置自动加载 全局可装的是
fxp/composer-asset-plugin
(旧版 Yii2 需要,但已弃用)或
hirak/prestissimo
(加速插件),这些才属于真正意义上的全局辅助工具 若需多个 Yii2 项目共享扩展(如自研组件),应发布为独立包并
composer require your-vendor/your-package
,而非试图“共用 vendor” 国内网络下 composer install 卡在「Loading from cache」或超时 这不是 Yii2 特有问题,但新手常误以为是框架安装慢。本质是 Packagist.org 或 GitHub API 响应延迟,Composer 默认没开并发下载,且 asset 包(尤其是 bower-asset)走 GitHub Release,国内直连极不稳定。 实操建议: 换国内镜像源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
(注意:该镜像已停,改用
https://mirrors.aliyun.com/composer/
) 禁用 asset 插件(Yii2.0.14+ 默认不再需要):确认
composer.json
中没有
"fxp/composer-asset-plugin"
,如有,先
composer global remove fxp/composer-asset-plugin
加
-vvv
参数看卡在哪一步,常见是等
github.com
的 API rate limit,此时可临时设
GITHUB_TOKEN
环境变量提升限额 首次安装完后,下次用
composer install
(而非
update
)能跳过依赖分析,快很多 事情说清了就结束。Yii2 的 Composer 安装难点不在命令本身,而在对 PHP 环境、依赖作用域和国内网络现实的准确预判。很多人反复重试却忽略
php -m
输出或残留的
composer.lock
,这才是最耗时间的地方。

相关文章